以编程方式检查是否满足Python依赖性

ora*_*nge 6 python dependencies pip

我想以编程方式运行pip并确定当前virtualenv环境是否符合指定的requirements.txt文件.我不喜欢跑步pip或任何东西,但我认为既然它可以读取requirements.txt文件,那将是一个好的开始.

但是,我甚至没有找到一种pip从命令行有效运行的方法.pip install -r requirements.txt --no-install在某个地方被提出,但是它下载了每个包,即使这不是问题,我也不确定如何解释其输出是否满足所有依赖关系.

Teh*_*Guy 2

这篇文章有很多关于获取模块列表的好建议。您可以使用以下代码打印出所有缺少的模块:

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
Run Code Online (Sandbox Code Playgroud)