<p><a href="http://furius.ca/snakefood/" rel="nofollow">Snakefood</a>很好,正如svenmarnach已经回答的那样,但是这提供了所有的文件依赖关系,我不确定它是否会告诉您使用了哪些包,而不是每个文件依赖项。在</p>
<p>对于<a href="http://pypi.python.org/pypi" rel="nofollow">Python Package Index</a>中可用的包,可以使用<a href="http://pypi.python.org/pypi/virtualenv" rel="nofollow">virtualenv</a>(和<a href="http://pip.openplans.org/" rel="nofollow">pip</a>)来获得所需/已用包的简单列表。在</p>
<p>例如,假设您还安装了优秀的<a href="http://www.doughellmann.com/articles/pythonmagazine/completely-different/2008-05-virtualenvwrapper/index.html" rel="nofollow">virtualenvwrapper</a>工具(<em>高度</em>推荐),下面是一个序列,显示了<a href="http://pypi.python.org/pypi/pylint" rel="nofollow">pylint</a>的软件包要求:</p>
<pre>
$ <b>mkvirtualenv pylint_dep_check no-site-packages</b>
New python executable in pylint_dep_check/bin/python
Installing setuptools............done.
$ <b>pip freeze #Note the wsgiref 'bug' where it always shows up</b>
wsgiref==0.1.2
$ <b>workon pylint_dep_check</b>
(pylint_dep_check) $ <b>pip install pylint</b>
(... snipped lengthy install text ...)
(pylint_dep_check) $ <b>pip freeze</b>
logilab-astng==0.21.1
logilab-common==0.55.0
pylint==0.23.0
unittest2==0.5.1
wsgiref==0.1.2
</pre>
<p>不知道<code> no-site-packages</code>virtualenv创建选项的所有重要用途(惊喜!)你的发行版保证你的网站没有安装全新的软件包。这样,你安装的应用程序需要什么就很清楚了。在</p>
<p>如果这是您开发的应用程序,跟踪依赖关系的一个好方法(也是一个很好的/干净的工作方式)是在一个干净的<a href="http://pypi.python.org/pypi" rel="nofollow">virtualenv</a>(再次使用<code> no-site-packages</code>选项创建)中设置该应用程序,然后再次使用<code>pip freeze</code>来确定安装了哪些包使其工作。在</p>
<p>使用<code> no-site-packages</code>选项启动“全新”python安装的能力非常有用。我对所有的应用程序都这样做,并测试我感兴趣的包,而不会弄乱我的工作区。在</p>
<p>如果你还没有使用virtualenv和pip,那就开始吧。下面是一个很好的介绍:
<a href="http://mathematism.com/2009/07/30/presentation-pip-and-virtualenv/" rel="nofollow">http://mathematism.com/2009/07/30/presentation-pip-and-virtualenv/</a></p>