我想以编程方式运行pip
并确定当前virtualenv环境是否符合指定的requirements.txt
文件。关于运行pip
或其他任何内容我都不感兴趣,但我认为因为它可以读取requirements.txt
- 就像文件一样,这将是一个良好的开端。
但是,我甚至没有找到一种从命令行有效运行pip
的方法。在某个地方建议pip install -r requirements.txt --no-install
,但它下载了每个包,即使这不是问题,我也不确定如何解释其输出是否满足所有依赖关系。
答案 0 :(得分:0)
This帖子有很多关于获取模块列表的好建议。您可以使用以下代码打印出所有缺失的模块:
from pkgutil import iter_modules
modules = set(x[1] for x in iter_modules())
with open('requirements.txt', 'rb') as f:
for line in f:
requirement = line.rstrip()
if not requirement in modules:
print requirement