【问题标题】:check in python if a conda package exist如果存在 conda 包,请检查 python
【发布时间】:2018-02-12 06:30:22
【问题描述】:

对于给定的python版本,平台,有没有办法 检查 conda 上是否有可用的包(使用 python), 除了抓取 conda 网站?

目标是使用 python 代码进行检查,而不是通过抓取或 命令行抓取。

示例网址: https://anaconda.org/conda-forge/xlwt/files

【问题讨论】:

    标签: python package conda


    【解决方案1】:

    你可以搜索可用的包

    conda search $SEARCH_TERM

    来自official documentation 的示例:

    搜索名为“scikit-learn”的特定包:

    conda search scikit-learn
    

    搜索包名中包含“scikit”的包:

    conda search *scikit*
    

    请注意,您的 shell 在将命令移交给之前可能会扩展“*” 康达因此有时需要使用单或双 查询周围的引号。

    conda search '*scikit' conda search "*scikit*"
    

    搜索 64 位 Linux 的软件包(默认情况下,为您的 显示当前平台):

    conda search numpy[subdir=linux-64]
    

    搜索特定版本的包:

    conda search 'numpy>=1.12'
    

    在特定频道上搜索包

     conda   search   conda-forge::numpy  conda  search  'numpy[chan‐nel=conda-forge, subdir=osx-64]'
    

    【讨论】:

    • subdir=linux-64 用于平台名称。不确定你对给定 python 版本的意思.. 我不知道 conda 在 python 版本之间有这样的分离..
    【解决方案2】:

    你需要的是使用 Python 调用 conda 命令, 所以你可以使用 subprocess.run() 来做到这一点。

    import subprocess
    check_package = subprocess.run(['conda', 'list', 'your_package_name'], stdout=subprocess.PIPE)
    print(check_package.stdout)
    

    【讨论】:

    猜你喜欢
    • 2014-12-04
    • 1970-01-01
    • 1970-01-01
    • 2022-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多