我在Ubuntu 12.04上运行virtualenvwrapper
和朋友(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
而且它也没有出现在那里。
答案 0 :(得分:7)
On Ubuntu setuptools
由系统软件包管理器安装。因此,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)
答案 1 :(得分:4)
pip 不会列出 pip 本身依赖的软件包。您可以通过以下方式包括此类软件包:
pip freeze --all
冻结以需求格式列出软件包-供需求文件等使用-而 list 只是列表。
有关更多详细信息,请参见Pip freeze vs. pip list。