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环境的结构略有不同,因此无法按原样工作)还是有一种现有的方法。
答案 0 :(得分:1)
我认为这是不可能的。我不是该领域的专家,但是虚拟环境的python解释器是不同的。您还可以看到该文件只会更改您的系统路径,因此要使用的python解释器将指向虚拟环境的打开位置。因此,我认为您实际上必须使用虚拟环境的python解释器在脚本中生成一个新的python进程。像这样:
import subprocess
subprocess.run(['/full/path/to/venv/bin/python', 'path/to/script.py'])