2011-03-18 200 views
5

不是符號鏈接warnings.py我有上清醒創建與python2.7的virtualenv(1.5.2)中的問題。看起來,像virtualenv正在跳過爲warnings.py創建符號鏈接。的virtualenv會爲蟒蛇2.7

Running virtualenv with interpreter /usr/local/bin/python2.7 
Creating test/lib/python2.7 
Symlinking Python bootstrap modules 
    Symlinking test/lib/python2.7/sre_compile.pyc 
    Symlinking test/lib/python2.7/encodings 
    Symlinking test/lib/python2.7/UserDict.pyc 
    Symlinking test/lib/python2.7/stat.pyo 
    Symlinking test/lib/python2.7/copy_reg.pyo 
    Symlinking test/lib/python2.7/posixpath.py 
    Symlinking test/lib/python2.7/stat.pyc 
    Symlinking test/lib/python2.7/re.py 
    Symlinking test/lib/python2.7/sre_parse.pyo 
    Symlinking test/lib/python2.7/sre_constants.pyo 
    Symlinking test/lib/python2.7/codecs.py 
    Symlinking test/lib/python2.7/lib-dynload 
    Symlinking test/lib/python2.7/locale.py 
    Symlinking test/lib/python2.7/sre.pyc 
    Symlinking test/lib/python2.7/ntpath.pyo 
    Symlinking test/lib/python2.7/types.pyo 
    Symlinking test/lib/python2.7/config 
    Symlinking test/lib/python2.7/sre_parse.py 
    Symlinking test/lib/python2.7/genericpath.pyc 
    Symlinking test/lib/python2.7/sre.py 
    Symlinking test/lib/python2.7/copy_reg.pyc 
    Symlinking test/lib/python2.7/sre.pyo 
    Symlinking test/lib/python2.7/sre_constants.py 
    Symlinking test/lib/python2.7/types.pyc 
    Symlinking test/lib/python2.7/UserDict.pyo 
    Symlinking test/lib/python2.7/ntpath.pyc 
    Symlinking test/lib/python2.7/fnmatch.py 
    Symlinking test/lib/python2.7/os.pyo 
    Symlinking test/lib/python2.7/codecs.pyo 
    Symlinking test/lib/python2.7/os.pyc 
    Symlinking test/lib/python2.7/fnmatch.pyo 
    Symlinking test/lib/python2.7/genericpath.pyo 
    Symlinking test/lib/python2.7/UserDict.py 
    Symlinking test/lib/python2.7/re.pyc 
    Symlinking test/lib/python2.7/genericpath.py 
    Symlinking test/lib/python2.7/fnmatch.pyc 
    Symlinking test/lib/python2.7/sre_compile.pyo 
    Symlinking test/lib/python2.7/posixpath.pyc 
    Symlinking test/lib/python2.7/os.py 
    Symlinking test/lib/python2.7/re.pyo 
    Symlinking test/lib/python2.7/sre_parse.pyc 
    Symlinking test/lib/python2.7/types.py 
    Symlinking test/lib/python2.7/sre_compile.py 
    Symlinking test/lib/python2.7/sre_constants.pyc 
    Symlinking test/lib/python2.7/copy_reg.py 
    Symlinking test/lib/python2.7/posixpath.pyo 
    Symlinking test/lib/python2.7/locale.pyc 
    Symlinking test/lib/python2.7/locale.pyo 
    Symlinking test/lib/python2.7/codecs.pyc 
    Symlinking test/lib/python2.7/ntpath.py 
    Symlinking test/lib/python2.7/stat.py 
Creating test/lib/python2.7/site-packages 
Writing test/lib/python2.7/site.py 
Writing test/lib/python2.7/orig-prefix.txt 
Creating parent directories for test/include 
Symlinking test/include/python2.7 
Creating test/bin 
New python executable in test/bin/python2.7 
Changed mode of test/bin/python2.7 to 0755 
Also creating executable in test/bin/python 
Changed mode of test/bin/python to 0755 
Testing executable with test/bin/python2.7 -c "import sys; print sys.prefix" 
Traceback (most recent call last): 
    File "/home/marek/projects/workspace/test/lib/python2.7/site.py", line 67, in <module> 
    import os 
    File "/home/marek/projects/workspace/test/lib/python2.7/os.py", line 49, in <module> 
    import posixpath as path 
    File "/home/marek/projects/workspace/test/lib/python2.7/posixpath.py", line 17, in <module> 
    import warnings 
ImportError: No module named warnings 
ERROR: The executable test/bin/python2.7 is not functioning 
ERROR: It thinks sys.prefix is '/home/marek/projects/workspace' (should be '/home/marek/projects/workspace/test') 
ERROR: virtualenv is not compatible with this system or executable 

File warnings.py位於/usr/local/lib/python2.7/中。

有與python2.6的創建virtualenv中沒有問題。

回答

4

所以我檢查virtualenv.py代碼,它有一個列表REQUIRED_MODULES,似乎有模塊的名稱中附加新的環境/ lib目錄。該列表由模塊「警告」滿足條件後延伸:

sys.version_info[:2] >= (2, 6) 

Python版本正確中標識,所以不存在與virtualenv.py沒有問題。指定我使用的是已安裝的virtualenv,而不是文件virtualenv.py。

從蟒蛇的dist-包刪除文件virtualenv.pyc後,問題消失了。所以看起來像編譯好的virtualenv文件有問題 - 看起來像pythons版本檢查的問題。

+6

我有同樣的問題。我不得不通過1)使用默認python(2.6)創建--no-site-packages virtualenv 2)在此virtualenv中使用easy_install virtualenv 3)現在使用virtualenv命令激活virtualenv 4)--no-site-packages virtualenv (頭爆炸) – 2011-09-11 15:27:13

+1

@MikkoOhtamaa在這裏相同,雖然我交換了步驟2和3,先激活然後安裝。 – 2013-05-06 22:27:19