我正在寻找一种很好的方法,从运行代码或交互式 Python 实例中找出我所在的 conda 环境的名称。
这个用例是,我在一个 miniconda 安装中使用 Python2和 Python3内核运行 Jupiter 笔记本电脑。默认的环境是 Py3。Py2有一个单独的环境。在一个笔记本文件内,我希望它尝试 conda install foo
。我现在使用 subcommand
来做这件事,因为我找不到与 pip.main(['install','foo'])
等价的编程 conda。
问题是,如果笔记本是使用 Py2内核运行的,那么命令需要知道 Py2环境的名称才能在那里安装 foo
。如果没有该信息,它将安装在默认的 Py3 env 中。我希望代码能够找出它所处的环境以及它自己的正确名称。
到目前为止,我想到的最好的解决办法是:
import sys
def get_env():
sp = sys.path[1].split("/")
if "envs" in sp:
return sp[sp.index("envs") + 1]
else:
return ""
是否有更直接/适当的方法来实现这一点?