В 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. Как я могу это решить?
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
Я наконец получил это.
sudo pip uninstall virtualenv
sudo pip3 install virtualenv
Это просто.