Ich versuche pip install
das MySQL-python
Paket, aber ich bekomme eine 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?
python
python-3.x
wenn __name__ None ist
quelle
quelle
echo $PATH
sagt dasAntworten:
In Python 3
ConfigParser
wird umbenannt wordenconfigparser
für PEP 8 Compliance. Es sieht so aus, als ob das von Ihnen installierte Paket Python 3 nicht unterstützt.quelle
sudo python3 -m pip install mysql-connector
und jetzt funktioniert es. Vielen Dank für den Hinweis @LongmangSie können das
mysqlclient
Paket stattdessen als Ersatz für MySQL-Python verwenden. Es ist eine AbzweigungMySQL-python
mit zusätzlicher Unterstützung für Python 3.Ich hatte einfach Glück damit
in meinem python3.4 virtualenv nach
Das ist natürlich spezifisch für Ubuntu / Debian, aber ich wollte nur meinen Erfolg teilen :)
quelle
libpython3.5-minimal
package (sudo apt-get install libpython3.5-minimal
) zu installieren .Hier ist ein Code, der sowohl in Python 2.x als auch in 3.x funktionieren sollte
Natürlich benötigen Sie das
six
Modul, aber es ist fast unmöglich, Module zu schreiben, die in beiden Versionen ohne sechs funktionieren.quelle
from six.moves import configparser
six.moves
ist, "eine konsistente Schnittstelle" für umbenannte Module bereitzustellen ; Das Umschließen von Importen mit einemtry
/except
bei Verwendungsix
besiegt den Punkt. Einfach benutzenfrom six.moves import configparser
. Nicht dass sechs hier benötigt werden; Sie können ersetzenfrom six.moves import configparser
mitimport ConfigParser as configparser
imexcept
Block und das gleiche Ergebnis erzielen , ohne dasssix
.six
nur eine Anforderung für Python 2.X zu stellen, aber nicht für Python 3.X.six.moves
und der native Name kann auch direkt für Python 2 verwendet werden.Versuchen Sie dann erneut, die MYSQL-Python zu installieren. Das hat bei mir funktioniert
quelle
MySQL-Python wird in Python3 nicht unterstützt. Stattdessen können Sie mysqlclient verwenden
Wenn Sie das
fedora/centos/Red Hat
folgende Paket installierenyum install python3-devel
pip install mysqlclient
quelle
Wenn Sie CentOS verwenden, müssen Sie verwenden
yum install python34-devel.x86_64
yum groupinstall -y 'development tools'
pip3 install mysql-connector
pip install mysqlclient
quelle
Die Kompatibilität von Python 2/3 für
configparser
kann einfach durch diesix
Bibliothek gelöst werdenquelle
Mach
pip3 install PyMySQL
und dannpip3 install mysqlclient
. Hat für mich gearbeitetquelle
Ich hatte das gleiche Problem. Es stellte sich heraus, dass ich python3 devel auf meinen Centos installieren musste. Zunächst müssen Sie nach dem Paket suchen, das mit Ihrem System kompatibel ist.
Installieren Sie dann das Paket wie folgt:
Installieren Sie dann mysqlclient von pip
quelle
Ich bin mit Valeres Antwort weitergekommen:
Ich würde vorschlagen, die Datei zu verknüpfen, anstatt sie zu kopieren. Es ist zum Aktualisieren gespeichert. Ich habe die Datei mit dem
/usr/lib/python3/
Verzeichnis verknüpft .quelle
Probieren Sie diese Lösung aus, die für mich gut funktioniert hat.
Im Grunde ist es erneut zu installieren ist / Upgrade auf die neueste Version von MySQL aus brauen , und dann zu installieren
mysqlclient
oderMySQL-Python
ausglobal pip3
stattvirtualenv pip3
.Dann auf die zugreifen
virtualenv
und erfolgreich installierenmysqlclient
oderMySQL-Python
.quelle
Wie wäre es, wenn Sie zuerst die Version von Python überprüfen, die Sie verwenden?
quelle
from six.moves import configparser
Ich habe kali linux-Rolling ausgeführt und bin auf dieses Problem gestoßen, als ich nach dem Update auf Python 3.6.0 versucht habe, cupp.py im Terminal auszuführen. Nach einigen Recherchen und Versuchen stellte ich fest, dass der Wechsel
ConfigParser
zuconfigparser
für mich funktionierte, aber dann stieß ich auf ein anderes Problem.config = configparser.configparser() AttributeError: module 'configparser' has no attribute 'configparser'
Nach ein wenig mehr Recherche wurde mir klar, dass für Python 3
ConfigParser
geändert wird,configparser
aber beachten Sie, dass es ein Attribut hatConfigParser()
.quelle
Ich habe den gleichen Fehler unter Mac OS 10, Python 3.7.6 und Django 2.2.7 erhalten. Ich möchte diese Gelegenheit nutzen, um zu teilen, was für mich funktioniert hat, nachdem ich zahlreiche Lösungen ausprobiert habe.
Schritte
Installierter Connector / Python 8.0.20 für Mac OS über Link
Kopieren Sie die aktuellen Abhängigkeiten in die Datei require.txt, deaktivieren Sie die aktuelle virtuelle Umgebung und löschen Sie sie mit.
Erstellen Sie die Datei, falls nicht bereits mit erstellt.
touch requirements.txt
Kopierabhängigkeit in Datei;
python -m pip3 freeze > requirements.txt
aktuelle virtuelle Umgebung deaktivieren und löschen;
deactivate && rm -rf <virtual-env-name>
Erstellt eine andere virtuelle Umgebung und aktiviert sie mit;
python -m venv <virtual-env-name> && source <virtual-env-name>/bin/activate
Installieren Sie frühere Abhängigkeiten mit;
python -m pip3 install -r requirements.txt
quelle
Bitte sehen Sie, worauf es
/usr/bin/python
ankommtwenn es darauf hinweist, zu
python3 or higher
ändernpython2.7
Dies sollte das Problem lösen.
Ich habe einen Installationsfehler für alle Python-Pakete erhalten. Die Lösung und Diskussion von Abe Karplus gab mir den Hinweis, was das Problem sein könnte. Dann erinnerte ich mich , dass ich manuell das geändert hatte
/usr/bin/python
auspython2.7
zu/usr/bin/python3.5
, das ist eigentlich das Problem verursacht wurde. Einmal habe ichreverted
das gleiche. Es wurde gelöst.quelle
MySQL-python
ist übertrieben. Verwenden Sie stattdessen die Python 3-Version der Bibliothek.Das hat bei mir funktioniert
quelle