gpt4 book ai didi

anaconda - Conda:列出使用某个包的所有环境

转载 作者:行者123 更新时间:2023-12-04 01:35:28 27 4
gpt4 key购买 nike

如何获得在 conda 中使用某个包的所有环境的列表?

最佳答案

这是如何使用 Conda Python 包执行此操作的示例(在 base 环境中运行):

import conda.gateways.logging
from conda.core.envs_manager import list_all_known_prefixes
from conda.cli.main_list import list_packages
from conda.common.compat import text_type

# package to search for; this can be a regex
PKG_REGEX = "pymc3"

for prefix in list_all_known_prefixes():
exitcode, output = list_packages(prefix, PKG_REGEX)

# only print envs with results
if exitcode == 0 and len(output) > 3:
print('\n'.join(map(text_type, output)))
这适用于 Conda v4.10.0,但由于它依赖于内部方法,因此无法保证继续进行。也许这应该是一个功能请求,比如像 conda list --any 这样的 CLI 命令。 .

脚本版本
这是一个使用包名称参数的版本:
conda-list-any.py
#!/usr/bin/env conda run -n base --no-capture-output python

## Usage: conda-list-any.py [PACKAGE ...]
## Example: conda-list-any.py numpy pandas

import conda.gateways.logging
from conda.core.envs_manager import list_all_known_prefixes
from conda.cli.main_list import list_packages
from conda.common.compat import text_type
import sys


for pkg in sys.argv[1:]:
print("#"*80)
print("# Checking for package '%s'..." % pkg)

n = 0
for prefix in list_all_known_prefixes():
exitcode, output = list_packages(prefix, pkg)
if exitcode == 0 and len(output) > 3:
n += 1
print("\n" + "\n".join(map(text_type, output)))

print("\n# Found %d environment%s with '%s'." % (n, "" if n == 1 else "s", pkg))
print("#"*80 + "\n")
顶部的shebang 应确保它会在 中运行。底座 ,至少在 Unix/Linux 系统上是这样。

关于anaconda - Conda:列出使用某个包的所有环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59752323/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com