我通常是 unix/Mac 人员,所以我不确定这可能是如何相关的,但我的一个用户在通过 cmd 命令行运行的 windows 框(windows 7?)上。
我为 windows 设置了 virtualenv,在这个系统上(其他计算机工作正常)我可以启动 virtualenv(activate.bat),当我从 venv/Scripts 目录中运行 python 时,一切看起来都很好。我的 sys.path 是正确的。
当我 cd .. 并再次运行 python(或从其他任何地方运行 python)时,如果我不在 virtualenv 中,sys.path 就是 sys.path。
我的提示符前仍然有 (venv),所以 venv 认为它仍然处于活动状态......
正确的系统路径:
['', 'C:\\Windows\\system32\\python27.zip',
'C:\\Users\\dellam\\Dropbox (CEP)\\users\\brianp\\course\\CYAN\\venv\\DLLs',
'C:\\Users\\dellam\\Dropbox (CEP)\\users\\brianp\\course\\CYAN\\venv\\lib',
'C:\\Users\\dellam\\Dropbox CEP)\\users\\brianp\\course\\CYAN\\venv\\lib\\plat-win',
[ETC]]
来自 venv\Scripts 之外的任何位置的 sys.path:
sys.path
['', 'C:\\Windows\\system32\\python27.zip', 'C:\\Python27\\DLLs',
'C:\\Python27\\lib', 'C:\\Python27\\lib\\plat-win',
'C:\\Python27\\lib\\lib-tk', 'C:\\Python27',
'C:\\Python27\\lib\\site-packages']
我正在正确使用 virtualenv。至少,它可以在其他计算机上运行。我正确地创建了一个 venv,并且我正在激活它。它在我的提示符后面附加了 (venv)。人们链接的问题解释了如何使用虚拟环境。我做的都是正确的。