有没有一种方法可以在Python中以编程方式获取所有conda软件包?
基本上,我想找到在Python中运行以下命令的等价方式:
conda list
当然,我可以打开一个操作系统子进程,只需调用conda list
,但我希望有比这更好的解决方案。
在环境中需要安装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)
尝试使用 -
help('modules')
在交互模式下运行。(它在cpython中有效。)