21

virtualenvwrapper和朋友们在 Ubuntu 12.04(virtualenvwrapper 1.7.1.2、virtualenv 1.7.1.2、pip 1.0、Distribute 0.6.24、Python 2.7)上运行。为了能够pip install matplotlib我需要更新版本的 Distribute/setuptools,所以我执行以下操作:

$ mkvirtualenv new_venv
$ pip install matplotlib # fails
$ easy_install -U distribute
# installs Distribute 0.7.3 in the venv,
# which then installs setuptools 1.3.1
$ pip install matplotlib # works

但是,当我跑步时,pip freeze我得到:

argparse==1.2.1
distribute==0.7.3 # here's Distribute
matplotlib==1.3.1
nose==1.3.0
numpy==1.8.0
pyparsing==2.0.1
python-dateutil==2.2
six==1.4.1
tornado==3.1.1
wsgiref==0.1.2

在哪里setuptools?我试过了pip install setuptools,它也没有出现在那里。

4

2 回答 2

17

pip不会列出pip本身所依赖的包,除非你告诉它。您可以通过以下方式包含此类软件包: pip freeze --all

freeze以需求格式列出包 - 用于需求文件等 - 而list就是这样,一个列表。

有关更多详细信息,请参阅点冻结与点列表

于 2018-06-21T10:36:44.390 回答
10

在 Ubuntusetuptools上由系统包管理器安装。所以当你没有列出它pip freeze。在创建 virtualenv 时,您将收到这些消息

mkvirtualenv test
New python executable in test/bin/python
Installing setuptools, pip...done.

如果你pip freeze在这之后立即执行,你会得到这样的东西

argparse==1.2.1
wsgiref==0.1.2

这里setuptools就不pip一一列举了。

如果你想要一切,你可以做一个pip list这样的事情。

argparse (1.2.1)
pip (1.5.6)
setuptools (3.6)
wsgiref (0.1.2)
于 2014-10-18T16:05:49.193 回答