Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/301.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
virtualenv取决于python的起始位置_Python_Windows_Python Venv - Fatal编程技术网

virtualenv取决于python的起始位置

virtualenv取决于python的起始位置,python,windows,python-venv,Python,Windows,Python Venv,我通常是unix/Mac用户,所以我不确定这两者之间有什么关系,但我的一个用户在通过cmd命令行运行的windows box(windows 7?)上 我为windows安装了一个virtualenv,在这个系统上(其他计算机工作正常),我可以启动virtualenv(activate.bat),当我在venv/Scripts目录下运行python时,一切看起来都很好。我的系统路径是正确的 当我cd..并再次运行python(或从其他任何地方运行python)时,如果我不在virtualenv中

我通常是unix/Mac用户,所以我不确定这两者之间有什么关系,但我的一个用户在通过cmd命令行运行的windows box(windows 7?)上

我为windows安装了一个virtualenv,在这个系统上(其他计算机工作正常),我可以启动virtualenv(activate.bat),当我在venv/Scripts目录下运行python时,一切看起来都很好。我的系统路径是正确的

当我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)附加到我的提示中。人们链接到的问题解释了如何使用虚拟环境。所有这些我都做对了。

显然,问题是我的代码和virtualenv都在dropbox上。这意味着它会被复制到每台新电脑上。它在第二台计算机上的powershell中工作只是一个侥幸。。。现在我首先需要找出一个更好的方法来做到这一点。。。叹气

这可能在进来之前就已经得到了回答-你能看看吗?还应该有一个
停用.bat
-你运行它是为了离开venv吗?我被激活了。我已经运行了activate.bat,并且(venv)在我的命令行中,但是sys.path不正确,除非我是从venv/Scripts运行python。我相信我正确地使用了venv,因为它可以在其他系统上工作……脚本目录中的
where python
与其他目录相比,您得到了什么?在这两种情况下,它都是C:\python27\python.exe。您没有venv/Scripts/python.exe吗?如果是这样的话,
where
至少应该在脚本目录是当前目录时首先找到它。我想说的是——作为一个Windows用户,我使用powershell的运气比尝试任何其他方法都好。希望您能找到实现的解决方案。