Python 3 ImportError: Kein Modul namens 'ConfigParser'


Answers

Sie können stattdessen das Paket mysqlclient als Drop-In-Ersatz für MySQL-python verwenden. Es ist ein Fork von MySQL-python mit zusätzlicher Unterstützung für Python 3.

Ich hatte einfach Glück

pip install mysqlclient

in meinem python3.4 virtualenv nach

sudo apt-get install python3-dev libmysqlclient-dev

das ist offensichtlich spezifisch für ubuntu / debian, aber ich wollte nur meinen Erfolg teilen :)

Question

Ich versuche, das MySQL-python Paket zu pip install , aber ich bekomme 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 "<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$ 

Irgendwelche Ideen?




Das hat für mich funktioniert

cp /usr/local/lib/python3.5/configparser.py /usr/local/lib/python3.5/ConfigParser.py



Wie wäre es mit der Überprüfung der Version von Python, die Sie zuerst verwenden?

import six
if six.PY2:
    import ConfigParser as configparser
else:
    import configparser



Das hat für mich funktioniert.

from ConfigParser import ConfigParser




Hier ist ein Code, der in Python 2.x und 3.x funktionieren sollte

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

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



Kompatibilität von Python 2/3 für configparser kann einfach durch six Bibliotheken gelöst werden

from six.moves import configparser



Related