我正在寻找一种很好的方法来计算我在运行代码或交互式python实例中的conda环境的名称.
用例是我使用miniconda安装的Python 2和Python 3内核运行Jupyter笔记本.默认环境是Py3.Py2有一个单独的环境.在笔记本文件中,我希望它尝试conda install foo.我现在正在使用subcommand这个,因为我找不到类似的程序性conda pip.main(['install','foo']).
问题是foo如果笔记本使用Py2内核运行,命令需要知道要安装在那里的Py2环境的名称.如果没有该信息,它将安装在默认的Py3环境中.我希望代码能够确定它所处的环境以及它自己的正确名称.
到目前为止,我得到的最佳解决方案是:
import sys
def get_env():
sp = sys.path[1].split("/")
if "envs" in sp:
return sp[sp.index("envs") + 1]
else:
return ""
Run Code Online (Sandbox Code Playgroud)
是否有更直接/适当的方法来实现这一目标?