Python 3 ImportError: geen module met de naam ‘ConfigParser’

Ik probeer het MySQL-Pythonpakket te MySQL-Python, maar ik krijg een 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$ 

Enig idee?


Antwoord 1, autoriteit 100%

In Python 3 is configparserhernoemd naar configparservoor PEP 8-compliance. Het lijkt erop dat het pakket dat u installeert Python 3 niet ondersteunt.


Antwoord 2, autoriteit 96%

U kunt in plaats daarvan het pakket mysqlclientgebruiken als een drop-in vervanging voor MySQL- Python. Het is een afsplitsing van MySQL-Pythonmet toegevoegde ondersteuning voor Python 3.

Ik had gewoon geluk

pip install mysqlclient

in mijn python3.4 virtualenv na

sudo apt-get install python3-dev libmysqlclient-dev

wat duidelijk specifiek is voor ubuntu/debian, maar ik wilde gewoon mijn succes delen 🙂


Antwoord 3, autoriteit 4%

Hier is een code die zou moeten werken in zowel Python 2.x als 3.x

Natuurlijk heb je de module sixnodig, maar het is bijna onmogelijk om modules te schrijven die in beide versies werken zonder zes.

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

Antwoord 4, autoriteit 4%

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

Probeer vervolgens de MYSQL-python opnieuw te installeren.
Dat werkte voor mij


Antwoord 5, autoriteit 3%

MySQL-python wordt niet ondersteund op python3. In plaats daarvan kunt u mysqlclient

Als je fedora/centos/Red Hatgebruikt, installeer dan het volgende pakket

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

Antwoord 6, autoriteit 2%

Als u CentOS gebruikt, moet u

  1. yum install python34-devel.x86_64
  2. yum groupinstall -y 'development tools'
  3. pip3 install mysql-connector
  4. pip install mysqlclient

Antwoord 7, autoriteit 2%

Compatibiliteit van Python 2/3 voor configparserkan eenvoudig worden opgelost door sixbibliotheek

from six.moves import configparser

Antwoord 8, autoriteit 2%

Ik had hetzelfde probleem. Blijkt dat ik python3 devel op mijn centos moest installeren. Eerst moet u zoeken naar het pakket dat compatibel is met uw systeem.

yum search python3 | grep devel

Installeer het pakket vervolgens als:

yum install -y python3-devel.x86_64

Installeer vervolgens mysqlclient vanaf pip

pip install mysqlclient

Antwoord 9

Doe pip3 install PyMySQLen pip3 install mysqlclient.
Werkte voor mij


Antwoord 10

Ik kwam verder met het antwoord van Valeres:

pip install configparser
sudo cp /usr/lib/python3.6/configparser.py /usr/lib/python3.6/ConfigParser.py
Probeer vervolgens de MYSQL-python opnieuw te installeren. Dat werkte voor mij

Ik raad aan om het bestand te linken in plaats van het te kopiëren. Het is veilig om te updaten. Ik heb het bestand gekoppeld aan de map /usr/lib/python3/.


Antwoord 11

Probeer dezeoplossing die prima werkte voor mij.

Het is eigenlijk om opnieuw te installeren/upgraden naar de nieuwste versie van mysqlvan brewen vervolgens mysqlclientof MySQL-Pythonvan global pip3in plaats van virtualenv pip3.

Vervolgens toegang krijgen tot de virtualenven succesvol mysqlclientof MySQL-Pythoninstalleren.


Antwoord 12

hoe zit het met het controleren van de versie van Python die u eerst gebruikt.

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

Antwoord 13

Ik voer kali linux- Rolling uit en ik kwam dit probleem tegen toen ik cupp.py in de terminal probeerde uit te voeren, na het updaten naar python 3.6.0. Na wat onderzoek en proeven ontdekte ik dat het veranderen van configparsernaar configparservoor mij werkte, maar toen kwam ik een ander probleem tegen.

config = configparser.configparser()
AttributeError: module 'configparser' has no attribute 'configparser'

Na wat meer onderzoek realiseerde ik me dat voor python 3 configparseris gewijzigd in configparsermaar merk op dat het een attribuut heeft ConfigParser().


Antwoord 14

Ik kreeg dezelfde foutmelding op Mac OS 10, Python 3.7.6 & AMP; Django 2.2.7. Ik wil deze kans gebruiken om te delen wat voor mij werkte na het uitproberen van tal van oplossingen.

Stappen

  1. Geïnstalleerde connector / python 8.0.20 voor Mac OS van link

  2. Huidige afhankelijkheden kopiëren in vereisten. TXT-bestand, gedeactiveerd de huidige virtuele env en verwijderde het met behulp van;

    Maak het bestand als deze nog niet is gemaakt met; touch requirements.txt

    De afhankelijkheid van het bestand kopiëren; python -m pip3 freeze > requirements.txt

    Deactiveer en verwijder de huidige virtuele env; deactivate && rm -rf <virtual-env-name>

  3. creëerde een andere virtuele env en geactiveerd het met behulp van; python -m venv <virtual-env-name> && source <virtual-env-name>/bin/activate

  4. Installeer eerdere afhankelijkheden met behulp van; python -m pip3 install -r requirements.txt


Antwoord 15

Ik heb dit probleem nog steeds, dus ik ga naar /usr/lib/python3.8 en typ als sudoer:

cp configparser.py ConfigParser.py

U hebt mogelijk nog een Python-versie dan 3.8.


Antwoord 16

Voor mij werkte de volgende opdracht:

sudo python3 -m pip install mysql-connector

Antwoord 17

Aanvullende informatie:

python 2x

import ConfigParser

python 3x

import ConfigParser

Antwoord 18

Graag zien waar /usr/bin/pythonnaar verwijst

als het verwijst naar python3 or higherverander dan naar python2.7

Dit zou het probleem moeten oplossen.

Ik kreeg een installatiefout voor alle python-pakketten. De oplossing van Abe Karplus & discussie gaf me de hint over wat het probleem zou kunnen zijn.
Toen herinnerde ik me dat ik de /usr/bin/pythonhandmatig had gewijzigd van python2.7in /usr/bin/python3.5, die eigenlijk het probleem veroorzaakte. Eens heb ik hetzelfde reverted. Het is opgelost.


Antwoord 19

Dit werkte voor mij

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

Other episodes