Rom*_*usi 4 python pip python-2.7 requirements.txt
在给定requirements.txt
的virtualenv环境下,从脚本检查是否满足要求并在不匹配的情况下提供详细信息的最佳方法是什么?
Pip在主要版本中更改了它的内部API,所以我看到一些建议不要使用它的parse_requirements
方法。
有一种方法pkg_resources.require(dependencies)
,但是然后如何解析需求文件,如github链接等呢?
这应该很简单,但是找不到任何指针。
更新:需要编程解决方案。
小智 5
您可以将virtualenv当前安装的软件包保存pip freeze
到一个文件中,例如current.txt。
pip freeze > current.txt
Run Code Online (Sandbox Code Playgroud)
然后,您可以使用类似script的脚本将此文件与使用difflib的requirements.txt进行比较:
import difflib
req = open('requirements.txt')
current = open('current.txt')
diff = difflib.ndiff(req.readlines(), current.readlines())
delta = ''.join([x for x in diff if x.startswith('-')])
print(delta)
Run Code Online (Sandbox Code Playgroud)
这应该仅显示“ requirements.txt”中的软件包,而不是“ current.txt”中的软件包。
归档时间: |
|
查看次数: |
1659 次 |
最近记录: |