我知道最明显的答案是使用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是最好的选择。 以防主文件夹不能使用,因为一些原因,然后-前缀。

其他回答

目标开关是你要找的东西:

pip install --target=d:\somewhere\other\than\the\default package_name

但是你仍然需要在PYTHONPATH中添加d:\somewhere\而不是\default \,以便从该位置实际使用它们。

-t,——target <dir> 将包安装到<dir>。默认情况下,这将不会替换<dir>中的现有文件/文件夹。 使用——upgrade将<dir>中的现有包替换为新版本。


如果目标交换机不可用,则升级pip:

Linux或OS X操作系统:

pip install -U pip

在Windows上(这可以解决一个问题):

python -m pip install -U pip

为了将库安装在我想要的位置,我导航到我想要的带有终端的目录的位置

pip install mylibraryName -t . 

我的逻辑是从这一页:https://cloud.google.com/appengine/docs/python/googlecloudstorageclient/download

PIP install /path/to/package/

现在是可能的。

这与使用-e或——editable标志的区别在于-e链接到包的保存位置(即下载文件夹),而不是将其安装到python路径中。

这意味着如果您删除/移动包到另一个文件夹,您将无法使用它。

新版本的pip(8或更高版本)可以直接使用——prefix选项:

pip install --prefix=$PREFIX_PATH package_name

其中$PREFIX_PATH是lib、bin和其他顶级文件夹所在的安装前缀。

对于Python v2.7.3 (GNU/Linux)上的pip v1.5.6, option——root允许指定全局安装前缀,(显然)与特定包的选项无关。尝试f.i。,

$ pip install --root=/alternative/prefix/path package_name