Я работаю над OSX и пытаюсь создать виртуальную среду с Python3, но получаю сообщение об ошибке:
$ virtualenv --python python3 env
Running virtualenv with interpreter /Library/Frameworks/Python.framework/Versions/3.4/bin/python3
Traceback (most recent call last):
File "/usr/local/lib/python2.7/site-packages/virtualenv.py", line 37, in <module>
import ConfigParser
ImportError: No module named 'ConfigParser'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python2.7/site-packages/virtualenv.py", line 39, in <module>
import configparser as ConfigParser
File "/usr/local/lib/python2.7/site-packages/configparser.py", line 397
_KEYCRE = re.compile(ur"%\(([^)]+)\)s")
Похоже, он ищет ConfigParser
, который был переименован configparser
. Это правильно? Что я могу сделать?
Я пытался обновить virtualenv с помощью pip install -U virtualenvwrapper
но это не помогло.
У меня была аналогичная проблема, и я не уверен, что это решит вашу проблему, но для меня это произошло из-за новой версии python-future, которая вышла из очереди на моем пути (перед основным python configparser
), а затем столкнулись с проблемами.
Для меня проблему решило просто удаление configparser.py
файл из этого каталога, так как это не configparser
который virtualenv
ищет.
Честно говоря, я думаю, что эта проблема была представлена в более поздней версии будущего (именно поэтому у меня была другая ошибка, чем у вас), но я полагаю, что, учитывая путь, по которому идет ваша трассировка, проблема все еще связана с ее запуском в configparser
модуль, который virtualenv
не ожидает быть там.
я подача вопроса с python-future
ребята, но кроме этого, я действительно не знаю, как решить эту проблему, кроме как удалить версию configparser
со своего места на пути. К сожалению, это также мешает будущей возможности обеспечивать эквивалентность между операторами импорта в python2 и python3.
Надеюсь это поможет!
Проблема решена после обновления virtualenv 15.1 до последней версии.
pip install --upgrade virtualenv
Я думаю, что virtualenv должен быть установлен как для python2, так и для 3, поэтому я исправил эту ошибку, установив virtualenv для python3.
sudo python3 -m pip install virtualenv