繁体   English   中英

pip 冻结不显示所有已安装的包

[英]pip freeze does not show all installed packages

我正在使用virtualenv 我安装了fabric ,带有pip 但是pip freeze并没有给出任何提示。 package 在我的virtualenv中,但 pip 对此保持沉默。 为什么会这样? 有什么办法调试这个?

我只是自己试过这个:

在“env”目录中创建一个 virtualenv:

$virtualenv2.7 --distribute env
New python executable in env/bin/python
Installing distribute....done.
Installing pip................done.

接下来,激活虚拟环境:

$source env/bin/activate

提示改变了。 现在安装结构:

(env)$pip install fabric
Downloading/unpacking fabric
  Downloading Fabric-1.6.1.tar.gz (216Kb): 216Kb downloaded
  Running setup.py egg_info for package fabric   
...

Successfully installed fabric paramiko pycrypto
Cleaning up...

pip freeze显示正确的结果:

(env)$pip freeze
Fabric==1.6.1
distribute==0.6.27
paramiko==1.10.1
pycrypto==2.6
wsgiref==0.1.2

也许您忘记激活虚拟环境? 在 *nix 控制台类型which pip要找出which pip

尽管您的问题是由于拼写错误造成的,但为了帮助其他用户:

pip freeze不显示 pip 依赖的依赖项。 如果要获取所有包,可以使用pip freeze --allpip list

您可以尝试使用--all标志,如下所示:

pip freeze --all > requirements.txt

如果您已将所有预安装的软件包重定向到名为pip-requirements.txt的文件中,那么解决上述问题非常简单。

1) 删除您的 virtualenv 文件夹创建一个新文件夹(我将其命名为venv

rm -rf venv && virtualenv venv

2) 从pip-requirements.txt安装所有需求/依赖

pip install -r pip-requirements.txt

3) 现在您可以检查 Django 应用程序的已安装包

pip freeze

4)如果你忘记更新你的需求文件( pip-requirements.txt ),那么再次安装fabric可选步骤

注意:为您的Django应用程序安装任何依赖项后,请始终按如下方式更新任何文件中的要求(确保您的virtualenv已激活)

pip freeze > pip requirements.txt

而已。

除了上述修复程序之外,还添加了我的修复程序,我在 Windows 上也遇到了同样的问题,即使在激活 virtualenv 之后pip freeze也没有给我所有已安装软件包的列表。 所以我用python -m pip install --upgrade pip命令升级了我的 pip,然后使用了pip freeze 这次它起作用了,并给了我所有已安装软件包的列表。

如果以上答案都不适合您。 和我一样,你的 venv 和 pip 配置可能有问题。

进入你的 venv/bin 并打开 pip 并看到第二行: '''exec' "path/to/yourvenv/bin/python3" "$0" "$@"

看看这条线是否正确指向你的 venv 内部例如在我的情况下。 我最初将我的虚拟环境命名为 venv1,后来只是将其重命名为 venv2。 这样做时,我的 pip 文件第二行有: '''exec' "venv1/bin/python3" "$0" "$@"正常工作应该有: '''exec' "venv2/bin/python3" "$0 " "$@"注意"venv2"而不是"venv1",因为 venv1 现在更名为 venv2。

由于这个 python 正在查看 venv2 的 pip 并抛出错误或无法按预期工作。

对于那些通过 PyCharm IDE 添加 Python 模块的人,在从命令提示符生成虚拟环境后,祝你好运。 您将需要通过首先运行 pip3 freeze 并添加 PyCharm 中缺少的内容来手动重建 requirements.txt 文件。

我强烈建议切换到 Visual Studio Code。

这可能很愚蠢,但我遇到了同样的问题。 我通过刷新 vs 代码文件目录来解决它(在 vscode 里面有一个重新加载按钮)。 :)

暂无
暂无

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

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