Ik probeer het MySQL-Python
pakket 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 configparser
hernoemd naar configparser
voor 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 mysqlclient
gebruiken als een drop-in vervanging voor MySQL- Python. Het is een afsplitsing van MySQL-Python
met 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 six
nodig, 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 Hat
gebruikt, installeer dan het volgende pakket
yum install python3-devel
pip install mysqlclient
Antwoord 6, autoriteit 2%
Als u CentOS gebruikt, moet u
yum install python34-devel.x86_64
yum groupinstall -y 'development tools'
pip3 install mysql-connector
pip install mysqlclient
Antwoord 7, autoriteit 2%
Compatibiliteit van Python 2/3 voor configparser
kan eenvoudig worden opgelost door six
bibliotheek
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 PyMySQL
en 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 mysqlclient
of MySQL-Python
van global pip3
in plaats van virtualenv pip3
.
Vervolgens toegang krijgen tot de virtualenv
en succesvol mysqlclient
of MySQL-Python
installeren.
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 configparser
naar configparser
voor 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 configparser
is gewijzigd in configparser
maar 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
-
Geïnstalleerde connector / python 8.0.20 voor Mac OS van link
-
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>
-
creëerde een andere virtuele env en geactiveerd het met behulp van;
python -m venv <virtual-env-name> && source <virtual-env-name>/bin/activate
-
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/python
naar verwijst
als het verwijst naar python3 or higher
verander 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/python
handmatig had gewijzigd van python2.7
in /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