为什么我的pip冻结时不会出现setuptools 1.3.1?

dav*_*one 14 pip setuptools virtualenv distribute

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
Run Code Online (Sandbox Code Playgroud)

但是,当我跑步时,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
Run Code Online (Sandbox Code Playgroud)

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

Chi*_*and 7

在Ubuntu setuptools上由系统包管理器安装.所以当你没有列出它pip freeze.在创建virtualenv时,您将获得这些消息

mkvirtualenv test
New python executable in test/bin/python
Installing setuptools, pip...done.
Run Code Online (Sandbox Code Playgroud)

如果你pip freeze在此之后马上做,你会得到这样的东西

argparse==1.2.1
wsgiref==0.1.2
Run Code Online (Sandbox Code Playgroud)

在这里setuptools,pip不会被列出.

如果你想要的一切你可以做到这样的pip list东西.

argparse (1.2.1)
pip (1.5.6)
setuptools (3.6)
wsgiref (0.1.2)
Run Code Online (Sandbox Code Playgroud)

  • `freeze`和`list`有什么区别? (3认同)

ElT*_*966 6

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

冻结需求格式的软件包列表-用于需求文件等- 列表就是列表。

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