我知道最明显的答案是使用virtualenv和virtualenvwrapper,但由于各种原因,我不能/不想这样做。

那么如何修改命令呢

pip install package_name

让PIP在默认的site-packages之外的地方安装这个包?


当前回答

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

pip install mylibraryName -t . 

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

其他回答

PIP install /path/to/package/

现在是可能的。

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

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

pip3 install "package_name" -t "target_dir"

来源:https://pip.pypa.io/en/stable/reference/pip_install/

-t switch = target

Use:

pip install --install-option="--prefix=$PREFIX_PATH" package_name

您可能还想使用——ignore-installed强制使用这个新前缀重新安装所有依赖项。你可以多次使用——install-option来添加任何你可以在python setup.py install中使用的选项(——prefix可能是你想要的,但你可以使用更多的选项)。

有时它只对Cache参数有效

-m pip install -U pip --target=C:\xxx\python\lib\site-packages Pillow --cache-dir C:\tmp

安装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等,详情请参阅自定义安装选项)。