python - 如何查找 Python 包的依赖项

标签 python pip

如何以编程方式获取 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/

相关文章:

python - 为什么调用其他方法的类方法应该用 'self' 调用?

python - ModuleNotFoundError : No module named 'face_recognition'

python - 忽略 ensurepip 失败 pip 在 Ubuntu 18.04 中需要 ssl/tls 错误

python - 使用本地 pip 安装导出 conda 环境

python - 安装Python 2.7.14 : Path to pip not recognized 时出现问题

python - pip 忽略代理设置

python - 字典将许多值更改为许多键

python - re.findall() 无法在另一个文件中找到一个文件中的行

python - Delphi 或 C 代码与 Python 脚本之间的桥梁

python - 槽在哪个线程中执行,我可以将其重定向到另一个线程吗?