Назад | Перейти на главную страницу

Python3 virtualenv: ImportError: нет модуля с именем ConfigParser

Я работаю над 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