virtualenvwrapper + python3: недопустимый синтаксис

На Ubuntu 14.04 я работаю

mkvirtualenv -p /usr/bin/python3 myvenv

И я добираюсь

Running virtualenv with interpreter /usr/bin/python3
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-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/dist-packages/virtualenv.py", line 39, in <module>
    import configparser as ConfigParser
  File "/usr/local/lib/python2.7/dist-packages/configparser.py", line 397
    _KEYCRE = re.compile(ur"%\(([^)]+)\)s")
                                         ^
SyntaxError: invalid syntax
Error in sys.excepthook:
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 63, in apport_excepthook
    from apport.fileutils import likely_packaged, get_recent_crashes
  File "/usr/lib/python3/dist-packages/apport/__init__.py", line 5, in <module>
    from apport.report import Report
  File "/usr/lib/python3/dist-packages/apport/report.py", line 30, in <module>
    import apport.fileutils
  File "/usr/lib/python3/dist-packages/apport/fileutils.py", line 15, in <module>
    from configparser import ConfigParser, NoOptionError, NoSectionError
  File "/usr/local/lib/python2.7/dist-packages/configparser.py", line 397
    _KEYCRE = re.compile(ur"%\(([^)]+)\)s")
                                         ^
SyntaxError: invalid syntax

Original exception was:
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-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/dist-packages/virtualenv.py", line 39, in <module>
    import configparser as ConfigParser
  File "/usr/local/lib/python2.7/dist-packages/configparser.py", line 397
    _KEYCRE = re.compile(ur"%\(([^)]+)\)s")
                                         ^
SyntaxError: invalid syntax

Это явно пытается установить python3 virtualenv с помощью python2. Как я могу решить это?

0
задан 16 June 2015 в 15:44

3 ответа

Это настолько странно. Я решил это, и я столкнулся с этим еще раз. Мое старое предложение не было достаточно.

На этот раз я должен был удалить зернышко и pip3 и затем переустановить их. Я думаю, что моя версия зернышка была установлена очень странным способом с помощью easy_install, но я мог удалить ее использование:

sudo pip uninstall pip

Тогда я переустановил зернышко:

sudo apt-get install python3-pip
1
ответ дан 4 October 2019 в 03:15

Эти virtualenv.py должно быть совместимым между python2.7 и python3.4.0. И Ваш исключает, потому что python3 версия не может загрузиться (переименованный) ConfigParser модуль.

Вы, кажется, выполняете более старую версию virtualenvwrapper. В моей системе virtualenv.py похож:

try:
    import ConfigParser
except ImportError:
    import configparser as ConfigParser

вокруг строки 37 (virtualenvwrapper версия 4.6.0), и это просто отступает к использованию нового имени configparser

, можно попытаться обновить использование:

sudo pip install -U virtualenvwrapper

, если Вы первоначально установили virtualenvwrapper с pip

1
ответ дан 4 October 2019 в 03:15

Я наконец получил его.

sudo pip uninstall virtualenv
sudo pip3 install virtualenv

Настолько простой.

1
ответ дан 4 October 2019 в 03:15

Другие вопросы по тегам:

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