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?

231
demandé sur Mark Amery 0000-00-00 00:00:00

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.

225
répondu Abe Karplus 2016-04-13 12:10:15

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 :)

314
répondu Eldamir 2016-04-17 19:02:26

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
9
répondu sorin 2017-11-08 03:38:29

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

  1. yum install python3-devel
  2. pip install mysqlclient
8
répondu Kaushal 2017-07-22 14:29:41