在安装了一个新的 virtualenv 之后,例如称为 ENV,如果我输入
. /path/to/ENV/bin/activate
python
import os
print os.environ['VIRTUAL_ENV']
Run Code Online (Sandbox Code Playgroud)
然后我看到 /path/to/ENV/
但是,如果我输入
/path/to/ENV/bin/python
Run Code Online (Sandbox Code Playgroud)
进而
import os
print os.environ['VIRTUAL_ENV']
Run Code Online (Sandbox Code Playgroud)
我有一个关键错误 那么这两种方法之间的根本区别是什么?谢谢,
在脚本中bin/activate,有一行看起来像这样:
VIRTUAL_ENV="/Users/me/.envs/myenv"
export VIRTUAL_ENV
Run Code Online (Sandbox Code Playgroud)
这是负责设置VIRTUAL_ENV环境变量的内容。当您不使用 activate 时,该变量永远不会被导出 - 因此它不存在于os.environ.