【发布时间】:2018-02-12 06:30:22
【问题描述】:
对于给定的python版本,平台,有没有办法 检查 conda 上是否有可用的包(使用 python), 除了抓取 conda 网站?
目标是使用 python 代码进行检查,而不是通过抓取或 命令行抓取。
【问题讨论】:
对于给定的python版本,平台,有没有办法 检查 conda 上是否有可用的包(使用 python), 除了抓取 conda 网站?
目标是使用 python 代码进行检查,而不是通过抓取或 命令行抓取。
【问题讨论】:
你可以搜索可用的包
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 版本之间有这样的分离..
你需要的是使用 Python 调用 conda 命令, 所以你可以使用 subprocess.run() 来做到这一点。
import subprocess
check_package = subprocess.run(['conda', 'list', 'your_package_name'], stdout=subprocess.PIPE)
print(check_package.stdout)
【讨论】: