【问题标题】:Pip installs packages in the wrong directory with virtualenvPip 使用 virtualenv 将软件包安装在错误的目录中
【发布时间】:2019-07-05 02:50:33
【问题描述】:

在 OS X 上使用 Python 3.7 然后我设置了一个虚拟环境

    $ source venv/bin/activate
    $ pip install numpy
    $ which pip 
pip is /Users/me/PycharmProjects/Test1/venv/bin/pip
(venv) 

但不是在虚拟环境中安装numpy而是安装在

/usr/local/lib/python2.7

numpy 没有出现在pip list

通过 Python 下载或通过 brew 安装的 Python 都会出现此问题。

哪些可能的设置会导致软件包安装在错误的位置。

【问题讨论】:

  • 试试$ which pip$ which pip3 看看它是否会给你不同的结果。
  • 一切看起来都不错。
  • 默认情况下,virtualenv 使用安装 virtualenv 的 python 解释器创建新的环境。您可以尝试一个新的:$ virtualenv -p python3.7 newenv。但是由于 virtualenv 与 Pycharm 捆绑在一起......请仔细检查以下输出:head $(which virtualenv) ; ls -la $(which pip) ; ls -la $(which virtualenv)
  • 如果这个virtualenv真的使用python3,如果你在their gui安装包,它会工作吗?是否按照他们的instruction here 正确配置?或者您可以使用非虚拟环境工具 python3 -mvenv newenv 创建一个新的 venv 并尝试 associate it with Pycharm 进行测试..
  • @Alex 正如我所怀疑的那样,一个不可见的设置原来是罪魁祸首。见下文。

标签: python python-3.x pip


【解决方案1】:

我遇到了这个问题,因为我重命名了项目的根目录。查看venv/bin/activate 脚本,我可以看到对旧名称的引用。

可能可以手动修复它,但我只是删除了 venv 文件夹并重新创建了它。

【讨论】:

  • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
【解决方案2】:

什么对我有用:

  1. 我刚刚在我的 venv 根文件夹中创建了一个 pip.ini 文件。
  2. 像这样填写那个文件:

[全局]

target=D:\Dropbox\online store\django\ve\lib\site-packages

3)重启venv后,使用这个命令

python -m pip install <package name>

现在我可以在我的 venv 上安装软件包(而不是全局安装)

【讨论】:

    【解决方案3】:

    回答我自己的问题。

    有一个看不见的

    ~/.config/pip/pip.conf 
    

    文件。其中包含以下几行:

    [global]
    target = /usr/local/lib/python2.7/site-packages
    

    这个文件已经有几年的历史了,所以我不确定它是如何到达那里的,但删除它解决了这个问题。

    【讨论】:

    • 不错的收获!默认情况下没有 pip.conf,但可以手动创建它来自定义内容。所有可能的 pip.conf 位置(每个用户、每个 venv 和系统范围/全局,以及它们如何相互覆盖)都是 listed here。如果有人遇到问题,他们可以使用pip config listcommand 来查看活动配置,或使用locate pip.conffind
    • @Alex 我多么希望我以前知道 pip 配置列表 :-) 到最后我把头发扯掉了。但正如你所做的那样,我在此过程中学到了很多东西。
    猜你喜欢
    • 2015-09-28
    • 2020-01-08
    • 2017-07-27
    • 1970-01-01
    • 2022-01-08
    • 2017-10-03
    • 2015-01-18
    • 2014-10-05
    • 2019-06-13
    相关资源
    最近更新 更多