当前位置:  开发笔记 > 编程语言 > 正文

如何在不安装的情况下列出python库的依赖项?

如何解决《如何在不安装的情况下列出python库的依赖项?》经验,为你挑选了1个好方法。

有没有办法获得给定python包的依赖项列表而不先安装它?

我目前可以获得要求列表,但它需要安装包.例如,我可以使用pip来显示基本需求信息,但它不包含版本信息:

$ pip show pytest
Name: pytest
Version: 3.0.6
...
Requires: colorama, setuptools, py

我已经尝试过一个名为pipdeptree包含更好输出要求的库,但它也需要安装包

$ pipdeptree -p pytest
pytest==3.0.6
- colorama [required: Any, installed: 0.3.7]
- py [required: >=1.4.29, installed: 1.4.32]
- setuptools [required: Any, installed: 34.0.0]
  - appdirs [required: >=1.4.0, installed: 1.4.0]
...

理想情况下,我会得到pipdeptree提供的详细程度.此外,能够requirements.txt从python wheel或pypi 生成文件pip也足够了.

编辑:

我看过类似的问题.它们要么过时,需要安装,要么它们不列出给定包的单个依赖项,只列出解决依赖性要求后最终下载的包的列表.例如,我并不关心pip下载package-2.3.4,我宁愿知道这package>=2.1是一个要求.



1> 小智..:

PyPi为包含元数据的JSON端点提供:

>>> import requests
>>> url = 'https://pypi.org/pypi/{}/json'
>>> json = requests.get(url.format('pandas')).json()
>>> json['info']['requires_dist']
['numpy (>=1.9.0)', 'pytz (>=2011k)', 'python-dateutil (>=2.5.0)']
>>> json['info']['requires_python']
'>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*'

对于特定包版本,请在URL中添加其他版本段:

https://pypi.org/pypi/pandas/0.22.0/json

推荐阅读
罗文彬2502852027
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有