2011-03-18 18 views
5

Lucid'de python2.7 ile virtualenv (1.5.2) oluşturma ile ilgili bir sorunum var. Virtualenv, warnings.py için sembolik bağlantı oluşturmayı atlama gibi görünüyor.virtualenv, python 2.7 için warnings.py sembolünü kullanmaz

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 

Dosya warnings.py /usr/local/lib/python2.7/ içindedir.

python2.6 ile virtualenv oluşturmak için sorun yoktur.

cevap

4

Bu yüzden virtualenv.py kodunu kontrol ettim ve REQUIRED_MODULES adlı yeni bir listenin/lib dizinine eklenecek modül adlarının bulunduğu bir listeye sahip oldum. Bu liste bir koşulun yerine sonra modülün 'uyarılarına' uzatılır: pitonun

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

Versiyon doğru indentified, bu yüzden virtualenv.py ile hiçbir sorun oluştu. Ben virtualenv, virtualenv.py dosya değil kullanarak belirttim.

virtualenv.pyc dosyasını python dağıtım paketlerinden kaldırdıktan sonra sorun giderildi. Öyle görünüyor ki, derlenmiş virtualenv dosyasında bir şeylerin yanlış olması gibi - pythons sürüm kontrolü problemine benziyor.

+6

Aynı problem vardı. Ben 1) tarafından - varsayılan sanal yazılım (2.6) 2 kullanarak) --no-site-paketleri virtualenv oluşturma Bu virtualenv içinde 3) easy_install virtualenv oluşturma 3) virtualenv 4 etkinleştirin - şimdi virtualenv komutunu kullanarak --no-site-pack virtualenv (kafa patlar) –

+1

@MikkoOhtamaa burada aynıdır, ancak 2 ve 3 numaralı adımları değiştirdim, ilk önce yükleme ve yükleme. –