python - 在 Python 中以编程方式获取 conda 包列表
问题描述
有没有办法在 Python 中以编程方式获取所有 conda 包?
基本上,我想找到相当于运行的 Python
conda list
当然,我可以打开一个 os 子进程并调用conda list
,但我希望有比这更好的解决方案。
解决方案
需要conda
在环境中安装 Python 包,这通常只适用于基础环境。然后可以使用内部调用的相同代码conda list
,即list_packages
从模块调用conda.cli.main_list
。例如,以下将等价于conda list -n foo
:
import conda.gateways.logging
from conda.cli.main_list import list_packages
from conda.common.compat import text_type
prefix = "/path/to/miniconda3/envs/foo"
exitcode, output = list_packages(prefix)
print('\n'.join(map(text_type, output)))
请注意,此代码很容易中断,因为它使用的是内部结构。
签名
>>> help(list_packages)
# Help on function list_packages in module conda.cli.main_list:
list_packages(prefix, regex=None, format='human', show_channel_urls=None)
推荐阅读
- javascript - ReactJS 如何允许我在定义 const 函数之前使用它们?
- css - 在列中添加条形图
- c# - 请求被中止:无法创建 SSL/TLS 安全通道 c# Webrequest
- ios - 如何在格式化字符串中使用属性字符串?
- java - 是否有任何 Jenkins 配置/插件只为 Java 项目中更改的文件运行测试用例?
- java - 使用 REST-assured 上传多个文件
- python-3.x - 无法在python中保存动画
- python - 正则表达式在 Snoflake python 连接器中没有按预期工作
- javascript - 如何使用 TestCafe 悬停?
- c# - 验证 JWT Token c# 的签名