2011-03-18 2 views
5

Lucid에서 python2.7을 사용하여 virtualenv (1.5.2)를 만드는 데 문제가 있습니다. virtualenv가 warnings.py에 대한 심볼릭 링크 생성을 건너 뛰는 것처럼 보입니다.virtualenv는 경고 파이썬 2.7에 대해 warnings.py를 심볼릭 링크하지 않습니다.

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 

경고 파일은 /usr/local/lib/python2.7/에 있습니다.

python2.6으로 virtualenv를 생성해도 문제가 없습니다.

답변

4

그래서 나는 virtualenv.py 코드를 점검했으며, 새로운 환경의/lib 디렉토리에 첨부 할 모듈의 이름을 가진 것처럼 보이는 REQUIRED_MODULES리스트를 가지고있다. 이 목록은 조건을 만족 한 후 모듈 '경고'로 확장된다 : 파이썬의

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

버전이 제대로 indentified, 그래서 virtualenv.py 아무 문제가 없었다. 설치된 virtualenv를 사용하고 있었는지 지정하려면 virtualenv.py 파일을 사용하지 마십시오.

python dist-packages에서 virtualenv.pyc 파일을 제거한 후에 문제가 사라졌습니다. 컴파일 된 virtualenv 파일에 문제가있는 것 같아요 - 비단뱀 버전 검사 문제처럼 보입니다.

+6

같은 문제가있었습니다. 해결 방법은 1) 기본 파이썬 (2.6)을 사용하여 --no-site-packages virtualenv 만들기 2) easy_install virtualenv 3) virtualenv 활성화 4) --no-site-packages virtualenv의 명령 사용 (머리가 폭발) –

+1

@MikkoOhtamaa 여기에 있지만, 나는 2 단계와 3 단계를 바꿨지 만, 처음 설치 한 후 설치했다. –

관련 문제