2015-01-18 9 views
1

저는 테스트 중심 개발로 구축 된 Python 프로젝트를 포크했습니다. 나는 그 가치를 분명히 보았고 나는 그것을 더 이상 사용하지 않을까 기대하고 있습니다.내 virtualenv가 distutils.sysconfig를 찾을 수없는 이유는 무엇입니까?

pyenv을 사용하여 필요한 모든 Python 해석기 (tox.ini 참조)를 설치했습니다. tox -r 실행, 나는 2.6 (나는 다른 문제가 있지만, 사람들은 내가 해결할 수 있습니다) 다음과 같은 문제와 끝까지 :

Traceback (most recent call last): 
    File "/usr/lib/python2.7/dist-packages/virtualenv.py", line 20, in <module> 
    import distutils.sysconfig 
ImportError: No module named distutils.sysconfig 

ERROR: InvocationError: /home/wxl/.pyenv/shims/python2.6 /usr/lib/python2.7/dist-packages/virtualenv.py --setuptools --python /home/wxl/.pyenv/shims/python2.6 py26 (see /home/wxl/dev/git/blogofobe/.tox/py26/log/py26-0.log) 

를 분명히하지 문제를 virtualenv를 호출을 시도하는 등 너무 많은 코드. traceback은 누락 된 모듈과 관련이 있다고 제안하는 것으로 보이지만 2.6에서도 표준 라이브러리에 있어야합니다.

흥미롭게도 python2.6을 실행하고 import distutils.sysconfig을 시도하면 실패합니다. 반면에, 내가 pyenv shell 2.6.9으로 그 버전으로 전환하고 똑같은 것을 시도한다면, 잘 동작합니다.

무엇이 누락 되었습니까?

FWIW, 우분투 14.04에있어 및 : 그것은 당신이 (가) pyenv에서 파이썬으로 VIRTUALENV 데비안에서 제공하는 사용하고 나타납니다

$ python --version 
Python 2.7.6 

$ python2.7 --version 
Python 2.7.6 

$ python2.6 --version 
Python 2.6.9 

답변

2

. 데비안이 site.py, distutils, sysconfig 그리고 아마 설치된 가상 프로젝트의 파일 레이아웃에 대한 가정을하기 위해 사용하려는 virtualenv를 패치했기 때문에 이것은 제대로 작동하지 않습니다. dist-packages는 데비안에 특정한 파이썬 패치를 나타내는 확실한 지표입니다.

이러한 가정은 pyenv가 설치하는 표준 python과 다릅니다.

/home/wxl/.pyenv/shims/pip-2.6 install virtualenv 

당신이 핍 심 다음이를 사용하지 않은 경우 :이 솔루션은 예를 들어, pyenv 파이썬 내부 VIRTUALENV 설치하는 것입니다

/home/wxl/.pyenv/shims/easy_install-2.6 pip virtualenv 

실행하여 심을 재생하는 것을 잊지 마세요 pyenv rehash

+0

내가 그것을 염증하게하기 전에 나는 어느 시점에서 어떤 통역사를 설치하기 위해 deadsnakes ppa를 사용했다. 'python2.6'을 실행할 때의 버전을 보았습니다. 기본값 인'pyenv shell 2.6.9'는 'unknown'을 제공하기 때문에 분명히 다른 버전입니다. 'apt-get purge python2.6'은 그 문제를 해결했습니다. 이제 모든 것이 잘되고 독이 행복합니다. 감사! – wxl

관련 문제