Wenn Sie dies mit Python3 verwenden möchten (z. B. mit der neuesten Version von Django), benötigen Sie mysqlclient, da MysqlDB Python3 nicht unterstützt. Siehe diese Frage
TD Smith
Ich verwende mysqlclient mit Python 2.7 und MariaDB ohne Probleme.
Dave Everitt
Antworten:
522
Es ist einfach, aber schwer, sich an die richtige Schreibweise zu erinnern:
pip install mysqlclient
Wenn Sie 1.2.x-Versionen benötigen (nur Legacy-Python), verwenden Sie pip install MySQL-python
Hinweis: Beim Ausführen des obigen Befehls müssen möglicherweise einige Abhängigkeiten vorhanden sein. Einige Hinweise zur Installation auf verschiedenen Plattformen:
Dieser hat funktioniert, aus irgendeinem Grund funktioniert die einfache Pip-Installation auf Ubuntu nicht sauber
Dap
In Ubuntu 14.04 wird die Fehlermeldung "EnvironmentError auslösen ("% s nicht gefunden "% (mysql_config.path,)" "angezeigt, und das erste cmd hat das Problem behoben. Danke, sparen Sie mir etwas Zeit
zhihong
Um die error: command 'x86_64-linux-gnu-gcc' failed with exit status 1Verwendung zu behebensudo apt-get install build-essential
FelikZ
Ich frage mich, warum das nötig ist. Eines fällt mir ein. Ich habe dies getestet, indem ich nur installiert und nicht gebaut habe. Haben Sie eines der Dinge erstellt, die Sie installiert haben, anstatt es nur zu installieren?
Ray Kiddy
Dies sollte natürlich als Antwort für Ubuntu akzeptiert werden.
Roon13
23
Zuerst
pip install pymysql
Dann setzen Sie den Code unten in __init__.py( projectname/__init__.py)
import pymysql
pymysql.install_as_MySQLdb()
Meine Umgebung ist (python3.5, django1.10) und diese Lösung funktioniert für mich!
Woow, ich habe über 5 Stunden lang versucht, dies ohne Erfolg zu beheben. Dies ist die einzige Lösung, die unter Ubuntu 16.04 / Python 3.5 / Django 1.11 funktioniert hat. Vielen Dank für das Teilen.
Paullo
Das funktioniert bei mir nicht. Meine Umgebung ist Python 3.7 und Django 2.2. Bitte hilf mir.
Rajen K Bhagat
Das sollte dort oben sein. Ich habe stundenlang nach einer Lösung gesucht. Ich habe eine virtuelle Umgebung mit Python 2.7, auf der Django 1.6 ausgeführt wird. Ich konnte weder MySQL-Python noch mysqlclient installieren. Egal was ich versuchte, ich bekam einen "schwerwiegenden Fehler: mysql.h". Dieser hat den Trick gemacht.
Rolandsaven
22
Ich hatte Probleme bei der Installation der 64-Bit-Version von MySQLdb unter Windows über Pip (Problem beim Kompilieren von Quellen) [32-Bit-Version in Ordnung installiert]. Es gelang, die kompilierte MySQLdb aus der .whl-Datei zu installieren, die unter http://www.lfd.uci.edu/~gohlke/pythonlibs/ verfügbar ist.
Follow-up: Wenn Sie eine 64-Bit-Version von Python installiert haben, möchten Sie die 64-Bit-AMD-Version von MySQLdb über den obigen Link installieren [dh auch, wenn Sie einen Intel-Prozessor haben]. Wenn Sie stattdessen versuchen, die 32-Bit-Version zu installieren, wird der nicht unterstützte Radfehler in den Kommentaren unten angezeigt.
Ich brauchte einen MySQL-Client. pip install mysqlclient-1.3.7-cp27-none-win_amd64.whlfunktioniert super.
Arsenik
2
Ging zu http://www.lfd.uci.edu/~gohlke/pythonlibs/#mysql-python , um die whlDatei herunterzuladen (ich würde 64-Bit für meine 64-Bit-Python-Installation verwenden). Datei in c:/Verzeichnis gespeichert und ausgeführt pip install c:/MySQL_python-1.2.5-cp27-none-win_amd64.whlEs wurde in Sekunden installiert und war gut zu gehen. Zu einfach!
Curtisp
Funktionierte auch für mich, da die Pip-Installation mit Namen fehlschlug.
Ich habe alle Optionen ausprobiert, konnte sie jedoch nicht auf der Redhat-Plattform zum Laufen bringen. Ich habe Folgendes getan, damit es funktioniert: -
yum install MySQL-python -y
Nach der Installation des Pakets konnte das Modul im Interpreter wie folgt importiert werden: -
Die Frage wurde ausdrücklich erwähnt pip. Welche Distribution verwenden Sie? Auf Fedora 24 funktioniert dies, um das Modul über pip zu installieren : sudo dnf install python python-devel mysql-devel redhat-rpm-config gcc,sudo pip install MySQL-python
Marian
Ich verstehe, dass die Frage über pip gestellt wird, aber ich persönlich konnte sie nicht mit pip lösen. Daher habe ich nur meine Problemumgehung geteilt, die das Problem für mich behoben hat. Ich benutze Centos 6.8. Die Pip-Liste zeigt nichts in Bezug auf MySQL an und wenn ich "pip install MySQL-python" mache, wird ein Fehler ausgegeben. Interessanterweise habe ich herausgefunden, dass ich nach der Installation über yum i: e "yum install MySQL-python" MySQLdb importieren kann. Auch einmal mit yum Installation fertig war ich in der Lage, über Pip ohne Fehler zu installieren.
Ashwin
6
Gehen Sie zu pycharm und dann zur Standardeinstellung -> pip (Doppelklick) - pymsqldb ..--> install - nach der Installation Verwendung in einem Programm wie diesem
import pymysql asMySQLdb# Open database connection
db =MySQLdb.connect("localhost","root","root","test")# prepare a cursor object using cursor() method
cursor = db.cursor()# execute SQL query using execute() method.
cursor.execute("show tables")# Fetch a single row using fetchone() method.
data = cursor.fetchall()print(data)# disconnect from server
db.close()
Ich hatte auch das gleiche Problem. Befolgen Sie diese Schritte, wenn Sie unter Windows arbeiten. Gehen Sie zu: 1. Mein Computer 2. Systemeigenschaften 3. Erweiterte Systemeinstellungen 4. Klicken Sie auf der Registerkarte "Erweitert" auf die Schaltfläche "Umgebungsvariablen". 5. Dann müssen Sie unter Systemvariablen die folgenden Variablen hinzufügen / ändern: PYTHONPATH und Pfad. Hier ist eine Einfügung, wie meine Variablen aussehen: Python-Pfad:
Die obige Antwort ist großartig, aber es kann einige Probleme geben, wenn wir pip verwenden, um MySQL-Python unter Windows zu installieren
Zum Beispiel werden einige Dateien benötigt, die mit Visual Stdio verknüpft sind. Eine Lösung installiert VS2008 oder 2010 …… Offensichtlich kostet es zu viel.
Ein anderer Weg ist die Antwort von @ bob90937. Ich bin hier, um etwas hinzuzufügen.
Mit http://www.lfd.uci.edu/~gohlke/pythonlibs können Sie viele Windows-Binärdateien vieler wissenschaftlicher Open-Source-Erweiterungspakete für die offizielle CPython-Distribution der Programmiersprache Python herunterladen.
Zurück zum Thema, wir können MySQL-Python (py2) oder Mysqlclient (py3) auswählen und Pip Install verwenden, um zu installieren. es gibt uns große Bequemlichkeit!
Viele der hier gegebenen Antworten sind ziemlich verwirrend, deshalb werde ich versuchen, es einfach auszudrücken. Es hat mir geholfen, dies zu installieren
pip install pymysql
Verwenden Sie dann den folgenden Befehl in der Python-Datei
import pymysql asMySQLdb
Auf diese Weise können Sie MySQLdb problemlos verwenden.
Keine sehr gute Antwort. Sie nehmen an, dass Python Version 3 und das Betriebssystem Debian / Ubuntu ist, aber das wissen Sie nicht. Bitte warten Sie, bis der Autor weitere Details hinzufügt.
Phd
0
Meine Umgebung ist:
Windows 10 Pro,
Python 3.7 (Python-3.7.1-amd64.exe),
MySQL 8.0 (mysql-installer-web-community-8.0.13.0.msi)
Folgen Sie der Antwort von @Nick T funktioniert nicht für mich, ich versuche apt-get install python-mysqldb, für mich zu arbeiten
root@2fb0da64a933:/home/test_scrapy# apt-get install python-mysqldbReadingpackage lists...DoneBuilding dependency tree
Reading state information...DoneThe following additional packages will be installed:
libmariadbclient18 mysql-common
Suggested packages:default-mysql-server |virtual-mysql-server python-egenix-mxdatetime python-mysqldb-dbg
The following NEW packages will be installed:
libmariadbclient18 mysql-common python-mysqldb
0 upgraded,3 newly installed,0 to removeand29not upgraded.Need to get843 kB of archives.Afterthis operation,4611 kB of additional disk space will be used.Do you want to continue?[Y/n] y
Get:1 http://deb.debian.org/debian stretch/main amd64 mysql-common all 5.8+1.0.2 [5608 B]Get:2 http://deb.debian.org/debian stretch/main amd64 libmariadbclient18 amd64 10.1.38-0+deb9u1 [785 kB]Get:3 http://deb.debian.org/debian stretch/main amd64 python-mysqldb amd64 1.3.7-1.1 [52.1 kB] Fetched843 kB in23s(35.8 kB/s)
debconf: delaying package configuration, since apt-utils isnot installed
Selecting previously unselected package mysql-common.(Reading database ...13223 files and directories currently installed.)Preparing to unpack .../mysql-common_5.8+1.0.2_all.deb ...Unpacking mysql-common (5.8+1.0.2)...Selecting previously unselected package libmariadbclient18:amd64.Preparing to unpack .../libmariadbclient18_10.1.38-0+deb9u1_amd64.deb ...Unpacking libmariadbclient18:amd64 (10.1.38-0+deb9u1)...Selecting previously unselected package python-mysqldb.Preparing to unpack .../python-mysqldb_1.3.7-1.1_amd64.deb ...Unpacking python-mysqldb (1.3.7-1.1)...Setting up mysql-common (5.8+1.0.2)...
update-alternatives:using/etc/mysql/my.cnf.fallback to provide /etc/mysql/my.cnf (my.cnf)inauto mode
Setting up libmariadbclient18:amd64 (10.1.38-0+deb9u1)...Processing triggers for libc-bin (2.24-11+deb9u3)...Setting up python-mysqldb (1.3.7-1.1)...
root@2fb0da64a933:/home/test_scrapy# python Python2.7.13(default,Nov242017,17:33:09)[GCC 6.3.020170516] on linux2
Type"help","copyright","credits"or"license"for more information.>>>importMySQLdb>>>
Antworten:
Es ist einfach, aber schwer, sich an die richtige Schreibweise zu erinnern:
Wenn Sie 1.2.x-Versionen benötigen (nur Legacy-Python), verwenden Sie
pip install MySQL-python
Hinweis: Beim Ausführen des obigen Befehls müssen möglicherweise einige Abhängigkeiten vorhanden sein. Einige Hinweise zur Installation auf verschiedenen Plattformen:
Ubuntu 14, Ubuntu 16, Debian 8.6 (Jessie)
Fedora 24:
Mac OS
Wenn dies fehlschlägt, versuchen Sie es
quelle
pip search mysql
in der Ausgabe verwenden und finden.pip search mysqldb
und nicht gefunden. Somit habe ich +1 diese Antwort.Ausgehend von einem neuen Ubuntu 14.04.2-System wurden diese beiden Befehle benötigt:
Nur die "Pip-Installation" alleine durchzuführen, hat nicht funktioniert.
Von http://codeinthehole.com/writing/how-to-set-up-mysql-for-python-on-ubuntu/
quelle
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
Verwendung zu behebensudo apt-get install build-essential
Zuerst
Dann setzen Sie den Code unten in
__init__.py
(projectname/__init__.py
)Meine Umgebung ist (python3.5, django1.10) und diese Lösung funktioniert für mich!
Hoffe das hilft!!
quelle
Ich hatte Probleme bei der Installation der 64-Bit-Version von MySQLdb unter Windows über Pip (Problem beim Kompilieren von Quellen) [32-Bit-Version in Ordnung installiert]. Es gelang, die kompilierte MySQLdb aus der .whl-Datei zu installieren, die unter http://www.lfd.uci.edu/~gohlke/pythonlibs/ verfügbar ist.
Die .whl-Datei kann dann über pip als Dokument in https://pip.pypa.io/en/latest/user_guide/#installing-from-wheels installiert werden
Zum Beispiel, wenn Sie in speichern
C:/
, können Sie über installierenpip install c:/MySQL_python-1.2.5-cp27-none-win_amd64.whl
Follow-up: Wenn Sie eine 64-Bit-Version von Python installiert haben, möchten Sie die 64-Bit-AMD-Version von MySQLdb über den obigen Link installieren [dh auch, wenn Sie einen Intel-Prozessor haben]. Wenn Sie stattdessen versuchen, die 32-Bit-Version zu installieren, wird der nicht unterstützte Radfehler in den Kommentaren unten angezeigt.
quelle
pip install mysqlclient-1.3.7-cp27-none-win_amd64.whl
funktioniert super.whl
Datei herunterzuladen (ich würde 64-Bit für meine 64-Bit-Python-Installation verwenden). Datei inc:/
Verzeichnis gespeichert und ausgeführtpip install c:/MySQL_python-1.2.5-cp27-none-win_amd64.whl
Es wurde in Sekunden installiert und war gut zu gehen. Zu einfach!Nun, das hat bei mir funktioniert:
Dies ist für Python 3.x.
quelle
Ich habe alle Optionen ausprobiert, konnte sie jedoch nicht auf der Redhat-Plattform zum Laufen bringen. Ich habe Folgendes getan, damit es funktioniert: -
Nach der Installation des Pakets konnte das Modul im Interpreter wie folgt importiert werden: -
quelle
pip
. Welche Distribution verwenden Sie? Auf Fedora 24 funktioniert dies, um das Modul über pip zu installieren :sudo dnf install python python-devel mysql-devel redhat-rpm-config gcc
,sudo pip install MySQL-python
Gehen Sie zu pycharm und dann zur Standardeinstellung -> pip (Doppelklick) - pymsqldb ..--> install - nach der Installation Verwendung in einem Programm wie diesem
quelle
Wenn Sie Raspberry Pi [Raspbian OS] verwenden
Zuerst muss der Befehl pip installiert werden
Also einfach nacheinander installieren
quelle
Sie können diese Website auf dieser Website herunterladen.
quelle
Wenn Sie mysqlclient nicht installieren können , können Sie auch pymysql installieren :
pip install pymysql
Dies funktioniert genauso wie MySqldb . Verwenden Sie danach pymysql anstelle von MySQLdb
quelle
Ich hatte auch das gleiche Problem. Befolgen Sie diese Schritte, wenn Sie unter Windows arbeiten. Gehen Sie zu: 1. Mein Computer 2. Systemeigenschaften 3. Erweiterte Systemeinstellungen 4. Klicken Sie auf der Registerkarte "Erweitert" auf die Schaltfläche "Umgebungsvariablen". 5. Dann müssen Sie unter Systemvariablen die folgenden Variablen hinzufügen / ändern: PYTHONPATH und Pfad. Hier ist eine Einfügung, wie meine Variablen aussehen: Python-Pfad:
Pfad:
Siehe diesen Link als Referenz
quelle
Die obige Antwort ist großartig, aber es kann einige Probleme geben, wenn wir pip verwenden, um MySQL-Python unter Windows zu installieren
Zum Beispiel werden einige Dateien benötigt, die mit Visual Stdio verknüpft sind. Eine Lösung installiert VS2008 oder 2010 …… Offensichtlich kostet es zu viel.
Ein anderer Weg ist die Antwort von @ bob90937. Ich bin hier, um etwas hinzuzufügen.
Mit http://www.lfd.uci.edu/~gohlke/pythonlibs können Sie viele Windows-Binärdateien vieler wissenschaftlicher Open-Source-Erweiterungspakete für die offizielle CPython-Distribution der Programmiersprache Python herunterladen.
Zurück zum Thema, wir können MySQL-Python (py2) oder Mysqlclient (py3) auswählen und Pip Install verwenden, um zu installieren. es gibt uns große Bequemlichkeit!
quelle
Für Python3 musste ich Folgendes tun:
quelle
pip install mysql-connector-python
wie in der Dokumentation angegeben:https://dev.mysql.com/doc/connector-python/de/connector-python-installation-binary.html
quelle
auf RHEL 7:
sudo yum install yum-utils mariadb-devel python-pip python-devel gcc
sudo /bin/pip2 install MySQL-python
quelle
Wenn Sie Windows auf Ihrem System installiert haben, geben Sie den folgenden Befehl in cmd ein:
Wenn der obige Befehl nicht funktioniert, versuchen Sie Folgendes:
Wenn die oben genannten Befehle die Arbeit nicht erledigen, versuchen Sie Folgendes:
Das war's, du bist jetzt gut zu gehen.
quelle
Viele der hier gegebenen Antworten sind ziemlich verwirrend, deshalb werde ich versuchen, es einfach auszudrücken. Es hat mir geholfen, dies zu installieren
Verwenden Sie dann den folgenden Befehl in der Python-Datei
Auf diese Weise können Sie MySQLdb problemlos verwenden.
quelle
Wenn pip3 nicht funktioniert, können Sie Folgendes versuchen:
quelle
Meine Umgebung ist:
pip installiere mysqlclient-1.3.13-cp37-cp37m-win_amd64.whl
funktioniert bei mir.
quelle
Folgen Sie der Antwort von @Nick T funktioniert nicht für mich, ich versuche
apt-get install python-mysqldb
, für mich zu arbeitenquelle