pip 不会使用 --user 在本地安装 Python 包

Posted

技术标签:

【中文标题】pip 不会使用 --user 在本地安装 Python 包【英文标题】:pip won't install Python packages locally with --user 【发布时间】:2013-03-03 08:57:28 【问题描述】:

我正在尝试使用 pip 在本地安装软件包。它曾经与--user 一起工作,但现在当我尝试它时,它会在/usr/local/lib/ 中找到软件包的版本,然后不会在本地安装它。通常它会在~/.local 中安装东西,但现在它只是检查包的系统范围目录,如果它在那里,它不会安装它(这不是我想要的),如果它不在那里,它会尝试安装它在/usr/local/lib 中,我没有写权限。例如:

$ pip install --user rpy2
Requirement already satisfied (use --upgrade to upgrade): rpy2 in /usr/local/lib/python2.7/dist-packages/

如何使pip install --user 始终转到~/.local 而不是系统范围的目录?

【问题讨论】:

它说它的“要求”得到满足,它告诉你使用 --upgrade 选项,你试过使用它吗? @PurityLake:是的,这不会改变任何事情 程序员常用的软件工具”,比如pip,都是话题。投票决定重新开放。 我同意这应该重新打开。类似的问题是***.com/questions/16269101/… 这可能不是一个修复方法,但这可以为您节省一些时间。尝试在您希望安装不同于系统范围安装的地方使用 virtualenv 【参考方案1】:

根据 pip 文档,该语法是正确的,但需要 Python 2.6。

用户安装量

Python 2.6 出现了用于安装的“用户方案”,这意味着 所有 Python 发行版都支持替代安装位置 这是特定于用户的。每个操作系统的默认位置是 在 python 文档中解释了 site.USER_BASE 变量。 这种安装模式可以通过指定--user来开启 pip 安装选项。

此外,“用户方案”可以通过设置 PYTHONUSERBASE 环境变量,用于更新 site.USER_BASE。

使用 site.USER_BASE 将“SomePackage”安装到环境中 自定义为“/myappenv”,请执行以下操作:

export PYTHONUSERBASE=/myappenv 
pip install --user SomePackage

因此,以下条目应该适合您:

export PYTHONUSERBASE=~/.local
pip install --user rpy2

【讨论】:

pip 文档位于:pip cookbook MagicalPony:不知道,谢谢。但是设置 PYTHONUSERBASE 不起作用 - 它仍在查看 /usr/local/lib/ pip install --user --force-reinstall --upgrade jinja2 可以安装到~/.local/ 目录。 这可能无法解决问题,但这可以为您节省一些时间。尝试在您希望安装不同于系统范围安装的地方使用 virtualenv【参考方案2】:

CitingMarcus Smith(pip 维护者):

如果您认为全球网站已经过时,并且想要最新的 用户站点,然后使用:pip install --upgrade --user SomePackage

如果全球网站是最新的,而您真的只是想要相同 在--user 中复制的东西,然后使用:pip install --ignore-installed --user SomePackage(在 #1352 合并后现在可以正常工作,将在 v1.5 中发布)

我怎样才能让pip install --user 总是转到~/.local 而不是系统范围的目录?

同时使用 --upgrade--ignore-installed 参数。

【讨论】:

感谢您提及 pip 错误。我唯一缺少的是将 --prefix 与 --user 结合使用,请参阅***.com/questions/24420125/…【参考方案3】:

installing any package using user command

用于升级 pip:

python -m pip install --upgrade --user pip

【讨论】:

以上是关于pip 不会使用 --user 在本地安装 Python 包的主要内容,如果未能解决你的问题,请参考以下文章

python的构建工具——setup.py文件

pip 安装本地 git 存储库

使用pip安装Python包

pip不被识别为内部命令

2pip2.7安装Ansible

pip 并安装 mysql-python