使用Python编程获取Conda包列表

4

有没有一种方法可以在Python中以编程方式获取所有conda软件包?

基本上,我想找到在Python中运行以下命令的等价方式:

conda list

当然,我可以打开一个操作系统子进程,只需调用conda list,但我希望有比这更好的解决方案。


不好意思,目前还不能。你需要按照之前的方式使用'os.system('conda list')'。虽然有些笨拙,但这是可行的 :( - user13372194
2个回答

1

在环境中需要安装conda Python包,这通常仅适用于base环境。然后可以使用与conda list内部调用相同的代码,即模块conda.cli.main_list中的list_packages。例如,以下内容相当于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)

0

尝试使用 -

help('modules')

在交互模式下运行。(它在cpython中有效。)


这难道不只是捕获Python包吗?Conda环境通常包含不仅仅是Python,例如编译的依赖项。 - merv

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接