我如何"假装"使用pip安装软件包?

时间:2016-05-26 01:59:25

标签: python python-3.x pip

这感觉就像这么简单的问题,但我无法在pip documentation中找到任何引用,而the only question that seemed relevant提到自1.5版本以来显然已被弃用的标记(版本8.1是当前的在撰写本文时)。

我如何"假装"使用pip安装软件包或软件包列表,而不实际安装它们?我有两个单独的用例:

  • 我需要查看缺少长(~70行)requirements.txt的包,而不实际安装;在没有安装缺失的要求的情况下看到满足哪些要求会满足我的要求。
  • 查找我尚未在计算机上安装的软件包的依赖项,而不使用Portage或Aptitude之类的内容。

2 个答案:

答案 0 :(得分:2)

还有一个非常实用的pip-tools package提供pip-sync工具,您可以在"干运行中执行"}模式与您的要求文件:

$ mkvirtualenv test_so
New python executable in test_so/bin/python
Installing setuptools, pip, wheel...done.
...
(test_so) $ pip install pip-tools
...
Installing collected packages: six, click, first, pip-tools
(test_so) $ echo "Django==1.6.11" > requirements.txt
(test_so) $ pip-sync --dry-run requirements.txt 
Would install:
  Django==1.6.11

此外,这是一个部分相关的主题:Check if requirements are up to date

答案 1 :(得分:-3)

根据pip文档,生成requirements.txt文件的正确方法是pip freeze > requirements.txt。希望这是你想要的。