2011-01-13 4 views

Antwort

5

Das ist der Sinn des virtualenv. Es erbt nicht vom Rest Ihres Setups. Wenn Sie einen PYTHONPATH möchten, müssen Sie einen explizit festlegen.

Diese djangousers post ist wahrscheinlich hilfreich, Sie möchten virtualenvwrapper verwenden, um dieses Problem zu lösen.

Weitere Informationen in this other SO post on a similar problem.

+0

Wie stelle ich PYTHONPATH in meiner virtuellen Umgebung ein? – TIMEX

+1

mit virtualenvwrapper und dem Befehl add2virtualenv. http://www.doughellmann.com/docs/virtualenvwrapper/command_ref.html#path-management –

+0

Oder setzen Sie es in Ihrem Python-Code. –

0

Ich sehe nicht das Problem mit Python 2.7, virtualenv 1.7.1.2 auf Windows XP und ich vermute, Paul McMillan's Antwort ist falsch.

# PYTHONPATH not set 
# output from python -c "import sys; print sys.path" (edited for clarity) 

'', 
'C:\\Program Files\\python\\2.7\\lib\\site-packages\\pip-1.1-py2.7.egg', 
'C:\\WINDOWS\\system32\\python27.zip', 
'C:\\Program Files\\python\\2.7\\DLLs', 
'C:\\Program Files\\python\\2.7\\lib', 
'C:\\Program Files\\python\\2.7\\lib\\plat-win', 
'C:\\Program Files\\python\\2.7\\lib\\lib-tk', 
'C:\\Program Files\\python\\2.7', 
'C:\\Program Files\\python\\2.7\\lib\\site-packages', 
'C:\\Program Files\\python\\2.7\\lib\\site-packages\\setuptools-0.6c11-py2.7.egg-info' 

# PYTHONPATH not set, virtualenv activated 
# output from python -c "import sys; print sys.path" (edited for clarity) 

'', 
'c:\\python\\virtualenv\\2.7\\lib\\site-packages\\distribute-0.6.24-py2.7.egg', 
'c:\\python\\virtualenv\\2.7\\lib\\site-packages\\pip-1.1-py2.7.egg', 
'C:\\WINDOWS\\system32\\python27.zip', 
'c:\\python\\virtualenv\\2.7\\DLLs', 
'c:\\python\\virtualenv\\2.7\\lib', 
'c:\\python\\virtualenv\\2.7\\lib\\plat-win', 
'c:\\python\\virtualenv\\2.7\\lib\\lib-tk', 
'c:\\python\\virtualenv\\2.7\\Scripts', 
'C:\\Program Files\\python\\2.7\\Lib', 
'C:\\Program Files\\python\\2.7\\DLLs', 
'C:\\Program Files\\python\\2.7\\Lib\\lib-tk', 
'c:\\python\\virtualenv\\2.7', 
'c:\\python\\virtualenv\\2.7\\lib\\site-packages' 

# PYTHONPATH set to c:\pythonpath_sample_dir 
# output from python -c "import sys; print sys.path" (edited for clarity) 

'' 
'C:\\Program Files\\python\\2.7\\lib\\site-packages\\pip-1.1-py2.7.egg' 
'c:\\pythonpath_sample_dir' <--- value from PYTHONPATH 
'C:\\WINDOWS\\system32\\python27.zip' 
'C:\\Program Files\\python\\2.7\\DLLs' 
'C:\\Program Files\\python\\2.7\\lib' 
'C:\\Program Files\\python\\2.7\\lib\\plat-win' 
'C:\\Program Files\\python\\2.7\\lib\\lib-tk' 
'C:\\Program Files\\python\\2.7' 
'C:\\Program Files\\python\\2.7\\lib\\site-packages' 
'C:\\Program Files\\python\\2.7\\lib\\site-packages\\setuptools-0.6c11-py2.7.egg-info' 

# PYTHONPATH set to c:\pythonpath_sample_dir, virtualenv activated 
# output from python -c "import sys; print sys.path" (edited for clarity) 

'' 
'c:\\python\\virtualenv\\2.7\\lib\\site-packages\\distribute-0.6.24-py2.7.egg' 
'c:\\python\\virtualenv\\2.7\\lib\\site-packages\\pip-1.1-py2.7.egg' 
'c:\\pythonpath_sample_dir' <--- value from PYTHONPATH 
'C:\\WINDOWS\\system32\\python27.zip' 
'c:\\python\\virtualenv\\2.7\\DLLs' 
'c:\\python\\virtualenv\\2.7\\lib' 
'c:\\python\\virtualenv\\2.7\\lib\\plat-win' 
'c:\\python\\virtualenv\\2.7\\lib\\lib-tk' 
'c:\\python\\virtualenv\\2.7\\Scripts' 
'C:\\Program Files\\python\\2.7\\Lib' 
'C:\\Program Files\\python\\2.7\\DLLs' 
'C:\\Program Files\\python\\2.7\\Lib\\lib-tk' 
'c:\\python\\virtualenv\\2.7' 
'c:\\python\\virtualenv\\2.7\\lib\\site-packages' 

Auch scheint python virtualenv: why can I still import old modules in clean/new virtualenv zu bestätigen PYTHONPATHwird verwendet wird sys.path auch zu konstruieren, wenn die virtuelle Umgebung aktiviert wird.

Verwandte Themen