399 Stimmen

Python 3 ImportError: Kein Modul namens 'ConfigParser'

Ich versuche, das Paket MySQL-python mit pip install zu installieren, aber ich erhalte einen 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 "", line 16, in 
      File "/var/folders/lf/myf7bjr57_jg7_5c4014bh640000gn/T/pip-build/MySQL-python/setup.py", line 14, in 
        from setup_posix import get_config
      File "./setup_posix.py", line 2, in 
        from ConfigParser import SafeConfigParser
    ImportError: No module named 'ConfigParser'
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):

  File "", line 16, in 

  File "/var/folders/lf/myf7bjr57_jg7_5c4014bh640000gn/T/pip-build/MySQL-python/setup.py", line 14, in 

    from setup_posix import get_config

  File "./setup_posix.py", line 2, in 

    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$ 

Irgendwelche Ideen?

472voto

Abe Karplus Punkte 8150

In Python 3 wurde ConfigParser aus Gründen der PEP 8-Konformität in configparser umbenannt. Es sieht so aus, als würde das Paket, das Sie installieren, Python 3 nicht unterstützen.

471voto

Eldamir Punkte 9030

Sie können stattdessen das mysqlclient Paket als Drop-in-Ersatz für MySQL-python verwenden. Es handelt sich um einen Fork von MySQL-python mit zusätzlicher Unterstützung für Python 3.

Ich hatte einfach Glück mit

pip install mysqlclient

in meinem python3.4 virtualenv nach

sudo apt-get install python3-dev libmysqlclient-dev

was offensichtlich spezifisch für Ubuntu/Debian ist, aber ich wollte meinen Erfolg teilen :)

21voto

sorin Punkte 147675

Hier ist ein Code, der sowohl in Python 2.x als auch in 3.x funktionieren sollte

Offensichtlich benötigen Sie das six Modul, aber es ist fast unmöglich, Module zu schreiben, die ohne six in beiden Versionen funktionieren.

try:
    import configparser
except:
    from six.moves import configparser

20voto

Valere Punkte 197
pip install configparser
sudo cp /usr/lib/python3.6/configparser.py /usr/lib/python3.6/ConfigParser.py

Versuchen Sie dann erneut, das mysql-python zu installieren. Das hat bei mir funktioniert.

12voto

Kaushal Punkte 666

MySQL-python wird nicht unter Python3 unterstützt. Stattdessen können Sie mysqlclient verwenden

Wenn Sie fedora/centos/Red Hat verwenden, installieren Sie das folgende Paket

  1. yum install python3-devel
  2. pip install mysqlclient

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X