我知道最明显的答案是使用virtualenv和virtualenvwrapper,但由于各种原因,我不能/不想这样做。
那么如何修改命令呢
pip install package_name
让PIP在默认的site-packages之外的地方安装这个包?
我知道最明显的答案是使用virtualenv和virtualenvwrapper,但由于各种原因,我不能/不想这样做。
那么如何修改命令呢
pip install package_name
让PIP在默认的site-packages之外的地方安装这个包?
当前回答
使用python3.5和pip 9.0.3测试这些选项:
PIP install——target /myfolder [packages]
安装所有包,包括/myfolder下的依赖项。没有考虑到Python中已经在其他地方安装了依赖包。您将在/myfolder/[package_name]中找到包。如果你有多个Python版本,这不会考虑到这一点(包文件夹名中没有Python版本)。
PIP install——prefix /myfolder [packages]
检查是否已经安装了依赖项。将包安装到/myfolder/lib/python3.5/site-packages/[packages]
PIP install——root /myfolder [packages]
检查依赖项,如——prefix,但安装位置将是/myfolder/usr/local/lib/python3.5/site-packages/[package_name]。
PIP安装——用户[包]
将包安装到$HOME: /home/[用户]/。local / lib / python3.5 /网站 Python自动从这个.local路径搜索,所以你不需要把它放在你的PYTHONPATH中。
在大多数情况下——user是最好的选择。 以防主文件夹不能使用,因为一些原因,然后-前缀。
其他回答
对于Python v2.7.3 (GNU/Linux)上的pip v1.5.6, option——root允许指定全局安装前缀,(显然)与特定包的选项无关。尝试f.i。,
$ pip install --root=/alternative/prefix/path package_name
pip install packageName -t pathOfDirectory
or
pip install packageName --target pathOfDirectorty
pip3 install "package_name" -t "target_dir"
来源:https://pip.pypa.io/en/stable/reference/pip_install/
-t switch = target
使用python3.5和pip 9.0.3测试这些选项:
PIP install——target /myfolder [packages]
安装所有包,包括/myfolder下的依赖项。没有考虑到Python中已经在其他地方安装了依赖包。您将在/myfolder/[package_name]中找到包。如果你有多个Python版本,这不会考虑到这一点(包文件夹名中没有Python版本)。
PIP install——prefix /myfolder [packages]
检查是否已经安装了依赖项。将包安装到/myfolder/lib/python3.5/site-packages/[packages]
PIP install——root /myfolder [packages]
检查依赖项,如——prefix,但安装位置将是/myfolder/usr/local/lib/python3.5/site-packages/[package_name]。
PIP安装——用户[包]
将包安装到$HOME: /home/[用户]/。local / lib / python3.5 /网站 Python自动从这个.local路径搜索,所以你不需要把它放在你的PYTHONPATH中。
在大多数情况下——user是最好的选择。 以防主文件夹不能使用,因为一些原因,然后-前缀。
安装Python包通常只包含一些纯Python文件。如果包包含数据、脚本和(或)可执行文件,则这些文件将安装在与纯Python文件不同的目录中。
假设你的包没有数据/脚本/可执行文件,并且你希望你的Python文件进入/ Python /packages/package_name(而不是像使用——prefix时那样在/ Python /packages下面几层的子目录),你可以使用one time命令:
pip install --install-option="--install-purelib=/python/packages" package_name
如果你想要所有(或大部分)你的包都在那里,你可以编辑你的~/.pip/pip.conf包含:
[install]
install-option=--install-purelib=/python/packages
这样,您就不会忘记必须一次又一次地指定它。
包中包含的任何可执行文件/数据/脚本仍然会放在默认位置,除非你指定了额外的安装选项(——prefix/——install-data/——install-scripts等,详情请参阅自定义安装选项)。