我通常是unix / Mac用户,所以我不确定这可能与此有什么关系,但我的一个用户是在通过cmd命令行运行的Windows框(Windows 7?)上
我有一个为windows设置的virtualenv,在这个系统上(其他计算机工作正常)我可以启动virtualenv(activate.bat),当我从venv / Scripts目录中运行python时,事情看起来很好。我的sys.path是正确的。
当我cd ..,并再次运行python(或从其他任何地方运行python)时,sys.path就是sys.path,如果我不在virtualenv中。
我仍然将(venv)置于我的提示之前,所以venv认为它仍然活跃......
正确的sys.path:
['', '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)附加到我的提示。人们正在链接的问题解释了如何使用虚拟环境。我正确地做了所有这些。
答案 0 :(得分:0)
显然问题是我的代码和virtualenv存在于Dropbox上。这意味着它被复制到每台新计算机。它在第二台计算机上的PowerShell中工作的事实只是一个侥幸...现在我需要找出一个更好的方法来做到这一点...... 叹息