在Python中激活conda环境

时间:2018-07-12 16:44:00

标签: python virtualenv conda miniconda

conda是否提供从正在运行的Python程序中激活环境的方法?

例如,使用virtualenv创建的每个虚拟环境(venv)都有脚本venv/bin/activate_this.py(假设您使用的是Linux),该脚本可用于激活venv在正在运行的Python程序中,如下所示:

activate_this = '/full/path/to/venv/bin/activate_this.py'
with open(activate_this) as file_:
    exec(file_.read(), dict(__file__=activate_this))

我只是想知道我是否需要为此工作改用virtualenv的activate_this.py(virtualenv和conda环境的结构略有不同,因此无法按原样工作)还是有一种现有的方法。

1 个答案:

答案 0 :(得分:1)

我认为这是不可能的。我不是该领域的专家,但是虚拟环境的python解释器是不同的。您还可以看到该文件只会更改您的系统路径,因此要使用的python解释器将指向虚拟环境的打开位置。因此,我认为您实际上必须使用虚拟环境的python解释器在脚本中生成一个新的python进程。像这样:

import subprocess

subprocess.run(['/full/path/to/venv/bin/python', 'path/to/script.py'])