有没有一种方法可以在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中工作。(