Python 3 ImportError: aucun module nommé 'ConfigParser'
j'essaie de pip install
le paquet MySQL-python
, mais j'obtiens un ImportError
.
Jans-MacBook-Pro:~ jan$ /Library/Frameworks/Python.framework/Versions/3.3/bin/pip-3.3 install MySQL-python
Downloading/unpacking MySQL-python
Running setup.py egg_info for package MySQL-python
Traceback (most recent call last):
File "<string>", line 16, in <module>
File "/var/folders/lf/myf7bjr57_jg7_5c4014bh640000gn/T/pip-build/MySQL-python/setup.py", line 14, in <module>
from setup_posix import get_config
File "./setup_posix.py", line 2, in <module>
from ConfigParser import SafeConfigParser
ImportError: No module named 'ConfigParser'
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "<string>", line 16, in <module>
File "/var/folders/lf/myf7bjr57_jg7_5c4014bh640000gn/T/pip-build/MySQL-python/setup.py", line 14, in <module>
from setup_posix import get_config
File "./setup_posix.py", line 2, in <module>
from ConfigParser import SafeConfigParser
ImportError: No module named 'ConfigParser'
----------------------------------------
Command python setup.py egg_info failed with error code 1 in /var/folders/lf/myf7bjr57_jg7_5c4014bh640000gn/T/pip-build/MySQL-python
Storing complete log in /Users/jan/.pip/pip.log
Jans-MacBook-Pro:~ jan$
des idées?
4 réponses
en Python 3, ConfigParser
a été renommé configparser
pour la conformité à la PEP 8. Il semble que le paquet que vous installez ne supporte pas Python 3.
vous pouvez utiliser le paquet mysqlclient
en remplacement de MySQL-python. C'est une fourchette de MySQL-python
avec un support ajouté pour Python 3.
j'ai eu de la chance avec simplement
pip install mysqlclient
dans mon python3.4 virtualenv après
sudo apt-get install python3-dev libmysqlclient-dev
qui est évidemment spécifique à ubuntu / debian, mais je voulais juste partager mon succès :)
voici un code qui devrait fonctionner en Python 2.x et 3.x
évidemment, vous aurez besoin du module six
, mais il est presque impossible d'écrire des modules qui fonctionnent dans les deux versions sans six.
try:
import configparser
except:
from six.moves import configparser
MySQL-python n'est pas supporté sur python3 au lieu de cela, vous pouvez utiliser mysqlclient
si vous êtes sur fedora/centos/Red Hat
installer le paquet suivant
-
yum install python3-devel
-
pip install mysqlclient