使用Python脚本激活虚拟环境
使用Python脚本激活虚拟环境
我想从一个Python脚本中激活一个虚拟环境实例。
我知道这很容易做到,但我看到的所有示例都使用它来在env内运行命令,然后关闭子进程。
我只想激活虚拟环境并返回到shell,就像bin/activate一样。
像这样的:
$me: my-script.py -d env-name $(env-name)me:
这是可能的吗?
相关:
admin 更改状态以发布 2023年5月24日
如果你想在虚拟环境下运行Python子进程,你可以通过使用虚拟环境的/bin/目录下的Python解释器运行脚本来实现:\n\n
import subprocess # Path to a Python interpreter that runs any Python script # under the virtualenv /path/to/virtualenv/ python_bin = "/path/to/virtualenv/bin/python" # Path to the script that must run under the virtualenv script_file = "must/run/under/virtualenv/script.py" subprocess.Popen([python_bin, script_file])
\n\n然而,如果你想在当前Python解释器下激活虚拟环境而不是子进程,你可以使用activate_this.py
脚本: \n\n
# Doing execfile() on this file will alter the current interpreter's # environment so you can import libraries in the virtualenv activate_this_file = "/path/to/virtualenv/bin/activate_this.py" execfile(activate_this_file, dict(__file__=activate_this_file))