Python3 virtualenv: ImportError: никакой модуль под названием 'ConfigParser'

Я работаю над OSX, и я пытаюсь создать virtualenv с 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 но это не помогло.

2
задан 23 July 2015 в 00:20
3 ответа

У меня была похожая проблема, и я не уверен, решит ли это вашу проблему, но для меня это было связано с новой версией питона-будущего, который перепрыгнул через очередь на моем пути (впереди ядра питона configparser), а затем наткнулся на проблемы.

Что решило проблему для меня, так это просто удалить файл configparser.py из этого каталога, так как это был не тот configparser, который ищет virtualenv.

Честно говоря, я думаю, что эта проблема была представлена в более поздней версии будущего (именно поэтому у меня была ошибка, отличная от вашей), но я думаю, что, учитывая путь, по которому идёт ваша трассировка, проблема всё ещё исходит от того, что она запущена в модуль configparserconfigparser, который virtualenv не ожидал там находиться. Я

подаю вопрос к людям python-future , но кроме этого, я на самом деле не знаю, как решить эту проблему, кроме как устранить версию configparser с его позиции на пути. К сожалению, это также мешает будущему разрешить эквивалентность между операторами импорта на питоне2 и питоне3.

Надеюсь, это поможет!

2
ответ дан 3 December 2019 в 11:36

проблема решена после обновления virtualenv 15.1 до последней версии.

pip install --upgrade virtualenv
0
ответ дан 3 December 2019 в 11:36

Я думаю, что virtualenv должен быть установлен как для python2, так и для 3, поэтому я исправил эту ошибку, установив virtualenv для python3.

sudo python3 -m pip install virtualenv
0
ответ дан 11 June 2020 в 01:40

Теги

Похожие вопросы