Я только что раздробил проект Python, который был построен с помощью тестовой разработки. Я, конечно, вижу его ценность, и я с нетерпением жду возможности использовать его.Почему мой virtualenv не находит distutils.sysconfig?
Я установил все необходимые интерпретаторы Python (см. tox.ini
), используя pyenv
. Запуск 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
. След, похоже, предполагает, что он имеет какое-то отношение к отсутствующим модулям, но они должны быть в стандартной библиотеке, даже в версии 2.6.
Интересно, что если я запустил python2.6
и попробую import distutils.sysconfig
, это терпит неудачу. С другой стороны, если я переключусь на эту версию с pyenv shell 2.6.9
и попробую то же самое, она отлично работает.
Что мне не хватает?
FWIW, я на Ubuntu 14.04 и:
$ python --version
Python 2.7.6
$ python2.7 --version
Python 2.7.6
$ python2.6 --version
Python 2.6.9
Я в какой-то момент использовал deadsnakes ppa для установки некоторых интерпретаторов, прежде чем я получил раздражение. глядя на версию при запуске 'python2.6', это по умолчанию, тогда как' pyenv shell 2.6.9' дает «неизвестный», поэтому они явно разные версии. 'apt-get purge python2.6' разрешил эту проблему. теперь все хорошо, и «ток» счастлив. благодаря! – wxl