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. Как я могу это решить?

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

2 ответа

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

Кажется, что вы используете более старую версию virtualenvwrapper. В моей системе virtualenv.py выглядит так:

try:
    import ConfigParser
except ImportError:
    import configparser as ConfigParser

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

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

sudo pip install -U virtualenvwrapper

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

1
ответ дан 23 May 2018 в 19:47

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

sudo pip uninstall virtualenv
sudo pip3 install virtualenv

Это просто.

1
ответ дан 23 May 2018 в 19:47

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

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