繁体   English   中英

Pip 使用 virtualenv 将软件包安装在错误的目录中

[英]Pip installs packages in the wrong directory with virtualenv

在 OS XI 上使用 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 都会出现此问题。

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

回答我自己的问题。

有一个看不见的

~/.config/pip/pip.conf 

文件。 包含以下几行:

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

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

什么对我有用:

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

[全球的]

目标=D:\\Dropbox\\在线商店\\django\\ve\\lib\\site-packages

3)重新启动venv后,使用此命令

python -m pip install <package name>

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM