我知道最明显的答案是使用virtualenv和virtualenvwrapper,但由于各种原因,我不能/不想这样做。
那么如何修改命令呢
pip install package_name
让PIP在默认的site-packages之外的地方安装这个包?
我知道最明显的答案是使用virtualenv和virtualenvwrapper,但由于各种原因,我不能/不想这样做。
那么如何修改命令呢
pip install package_name
让PIP在默认的site-packages之外的地方安装这个包?
当前回答
Use:
pip install --install-option="--prefix=$PREFIX_PATH" package_name
您可能还想使用——ignore-installed强制使用这个新前缀重新安装所有依赖项。你可以多次使用——install-option来添加任何你可以在python setup.py install中使用的选项(——prefix可能是你想要的,但你可以使用更多的选项)。
其他回答
PIP install /path/to/package/
现在是可能的。
这与使用-e或——editable标志的区别在于-e链接到包的保存位置(即下载文件夹),而不是将其安装到python路径中。
这意味着如果您删除/移动包到另一个文件夹,您将无法使用它。
System选项,将PIP package-bins安装到所有用户都可以访问的/usr/local/bin。没有这个选项的安装可能对所有用户都不起作用,因为东西会到用户特定的目录,如$HOME/。Local /bin,然后是用户特定的安装,必须对所有用户重复,如果不为用户设置,也可能有路径问题,那么垃圾箱将无法工作。所以如果你正在寻找所有的用户-你需要有sudo访问:
sudo su -
python3 -m pip install --system <module>
logout
log back in
which <module-bin> --> it should be installed on /usr/local/bin/
在@Ian Bicking的回答上再加一点:
如果想在远程服务器上的主目录(没有sudo用户权限)中安装一些Python包,使用——user选项指定安装目录也可以。
例如,
pip install --user python-memcached
该命令将包安装到PYTHONPATH中列出的目录之一。
为了将库安装在我想要的位置,我导航到我想要的带有终端的目录的位置
pip install mylibraryName -t .
我的逻辑是从这一页:https://cloud.google.com/appengine/docs/python/googlecloudstorageclient/download
使用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是最好的选择。 以防主文件夹不能使用,因为一些原因,然后-前缀。