点差冻结与点子名单

产出比较显示差异:

user@user-VirtualBox:~$ pip list feedparser (5.1.3) pip (1.4.1) setuptools (1.1.5) wsgiref (0.1.2) user@user-VirtualBox:~$ pip freeze feedparser==5.1.3 wsgiref==0.1.2 

Pip的文档状态

 freeze Output installed packages in requirements format. list List installed packages. 

但是什么是“需求格式”,为什么pip list列表比pip freeze产生更全面的列表?

在使用virtualenv ,可以指定一个requirements.txt文件来安装所有依赖项。

典型用法:

 $ pip install -r requirements.txt 

这些软件包需要使用特定的格式才能理解,这是

 feedparser==5.1.3 wsgiref==0.1.2 django==1.4.2 ... 

这就是“要求格式”。

在这里, django==1.4.2意味着安装django版本1.4.2 (即使最新版本是1.6.x)。 如果您不指定==1.4.2 ,则可以安装最新的可用版本。

您可以在“ Virtualenv和pip基础知识 ”以及官方的“ 要求文件格式 ”文档中阅读更多内容。

要回答这个问题的第二部分,在pip list但不是pip freeze的两个包是setuptools (它是easy_install)和pip本身。

它看起来像pip freeze只是不列出皮皮本身依赖的软件包。 您可以使用--all标志来显示这些包。

从文档 :

--all

不要在输出中跳过这些包:pip,setuptools,distribute,wheel

看看pip文档 ,它描述了两者的function:

点子列表

列出已安装的软件包,包括可编辑的。

点冻结

以需求格式输出安装的软件包。

所以有两个区别:

  1. 输出格式, freeze为我们提供了标准的需求格式,稍后可以使用pip install -r来安装需求。

  2. 输出内容, pip list包括哪些pip freeze没有编辑。