pip freeze不显示所有已安装的软件包

时间:2013-06-06 10:50:18

标签: python virtualenv pip fabric

我正在使用virtualenv。我安装了fabricpip。但是pip freeze没有给出任何暗示。包裹在那里,在我的virtualenv中,但是pip对此保持沉默。为什么会这样?有什么方法可以调试吗?

6 个答案:

答案 0 :(得分:4)

我自己试过这个:

在“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以查找。

答案 1 :(得分:0)

如果您已将所有预安装的软件包重定向到名为 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

那就是它。

答案 2 :(得分:0)

尽管您的问题是打字错误造成的,但可以帮助其他用户:

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

答案 3 :(得分:0)

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

答案 4 :(得分:0)

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

pip freeze --all > requirements.txt

答案 5 :(得分:-1)

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