Python pip列表显示从不同目录运行时安装的不同软件包
我有一个虚拟环境,让我们称之为Python pip列表显示从不同目录运行时安装的不同软件包,python,pip,virtualenv,Python,Pip,Virtualenv,我有一个虚拟环境,让我们称之为virtenv 激活它(workon virtenv)后,运行pip list或pip freeze会显示相对较短的包列表 运行哪个pip显示~/bin/pip 当进入虚拟环境包目录(~/…/virtual_envs/virtenv/lib/python2.7/site packages)时,pip list和pip freeze显示更长更广泛的包列表 运行哪个pip仍显示~/bin/pip 因为在这两种情况下,我都处于相同的激活环境中,并且运行相同的pip,所以列
virtenv
激活它(workon virtenv
)后,运行pip list
或pip freeze
会显示相对较短的包列表
运行哪个pip
显示~/bin/pip
当进入虚拟环境包目录(~/…/virtual_envs/virtenv/lib/python2.7/site packages
)时,pip list
和pip freeze
显示更长更广泛的包列表
运行哪个pip
仍显示~/bin/pip
因为在这两种情况下,我都处于相同的激活环境中,并且运行相同的pip
,所以列表不应该相同吗
编辑:已解决。此文件:
~/.pydistutils.cfg
导致pip始终从~/bin/pip
运行,这将虚拟环境弄得一团糟。您声称激活了虚拟环境,但显然没有激活,这一点由哪个pip
的输出证实;PATH
环境变量的内容是什么?。请创建一个示例,其中包括环境的设置和激活。还请包括有关您的操作系统的信息。发现问题-~/.pydistutils.cfg
(我不知道它是如何或为什么在这台计算机上创建的)有这样一行:install scripts=$HOME/bin
,这导致pip始终从该位置运行,即使虚拟环境被激活。删除文件并重新安装pip后,一切似乎都正常。这也解释了为什么pip
从不同目录运行时显示不同的包吗?不确定是否真的解释了这一点,但它确实为我解决了问题,所以我没有办法检查根本原因