【问题标题】:Get package versions and dependencies without installing无需安装即可获取包版本和依赖项
【发布时间】:2021-11-10 20:31:59
【问题描述】:

我有一个 requirements.txt:

multiprocess
nltk
boosting
statsmodels
swifter
dask
catboost
spacy
seaborn
plotly
opencv

请注意,它没有每个包的版本。

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

  • 最新版本
  • 它的依赖关系

如何在 Python 中(不是在 shell 中)下载或安装任何包?

注意:我试过johnnydep 包,但如果没有安装包,它不会提供上面的数据。

【问题讨论】:

    标签: python-3.x package


    【解决方案1】:

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

    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

    【讨论】:

      猜你喜欢
      • 2011-06-12
      • 1970-01-01
      • 2020-10-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-01
      • 2018-02-02
      相关资源
      最近更新 更多