无需安装即可获取软件包版本和依赖项



我有一个requirements.txt:

multiprocess
nltk
boosting
statsmodels
swifter
dask
catboost
spacy
seaborn
plotly
opencv

注意,并不是每个包都有版本。

对于每个包,我想要得到:

  • 最新版本
  • <
  • 其依赖关系/gh>

如何在Python中(而不是在shell中)使用而不使用下载或安装任何软件包?

注意:我已经尝试了johnnydep包,但如果没有安装该包,它不提供上述数据。

获取单个包的版本和依赖项:

import json
import urllib.request
def get_package_deps(package_name):
url = f"https://pypi.org/pypi/{package_name}/json"
data = json.load(urllib.request.urlopen(url))
info = data['info']
version = info['version']
dependencies = info['requires_dist']
return version, dependencies
v, deps = get_package_deps('matplotlib')
print(v)

的回报:3.4.3

要对reqs文件中的所有包执行此操作,只需遍历reqs文件并使用try-except调用此函数,以避免异常,包括HTTPErrorNoneType

相关内容

  • 没有找到相关文章

最新更新