【发布时间】:2015-06-27 09:30:25
【问题描述】:
如何以编程方式获取 Python 包的依赖项列表?
标准的setup.py 已记录了这些内容,但我无法找到一种简单的方法来从 Python 或命令行访问它。
理想情况下,我正在寻找类似的东西:
$ pip install somepackage --only-list-deps
kombu>=3.0.8
billiard>=3.3.0.13
boto>=2.26
或:
>>> import package_deps
>>> package = package_deps.find('somepackage')
>>> print package.dependencies
['kombu>=3.0.8', 'billiard>=3.3.0.13', 'boto>=2.26']
注意,我不是在谈论导入包和查找所有引用的模块。虽然这可能会找到大多数依赖包,但它无法找到所需的最低版本号。这仅存储在 setup.py 中。
【问题讨论】:
-
这里有不少答案显示 pip 被导入以在程序中使用。 documentation for pip 强烈建议不要使用这种 pip。请记住,以防这些解决方案中的任何一个被用于任何重要的事情。