如何以编程方式获取 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 show [package name]
命令,还有pipdeptree
。
做事
$ pip install pipdeptree
然后运行
$ pipdeptree
它会以树的形式显示你的依赖关系,例如,
flake8==2.5.0
- mccabe [required: >=0.2.1,<0.4, installed: 0.3.1]
- pep8 [required: !=1.6.0,>=1.5.7,!=1.6.1,!=1.6.2, installed: 1.5.7]
- pyflakes [required: >=0.8.1,<1.1, installed: 1.0.0]
ipdb==0.8
- ipython [required: >=0.10, installed: 1.1.0]
项目位于https://github.com/naiquevin/pipdeptree ,您还可以在其中找到使用信息。
关于python - 如何查找 Python 包的依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29751572/