Kein Modul namens MySQLdb

400

Ich verwende Python Version 2.5.4 und installiere MySQL Version 5.0 und Django. Django funktioniert gut mit Python, aber nicht mit MySQL. Ich benutze es in Windows Vista.

jbcedge
quelle
43
pip install mysql-pythonoderpip install mysqlclient
Cœur
13
Ich musste installieren sudo apt-get install libmysqlclient-dev, damit es funktioniert.
b00r00x0
pip install mysqlclient arbeitete unter Windows x64 10, Sie rocken Cœur
Itachi Sama
8
Für Python3.6 sudo apt-get install libmysqlclient-devund pip3 install mysqlclientarbeitete für mich
Umair

Antworten:

638

Sie müssen einen der folgenden Befehle verwenden. Welches davon abhängt, welches Betriebssystem und welche Software Sie haben und verwenden.

  1. easy_install mysql-python (mix os)
  2. pip installiere mysql-python (mix os / python 2)
  3. pip install mysqlclient (mix os / python 3)
  4. apt-get install python-mysqldb (Linux Ubuntu, ...)
  5. cd / usr / ports / datenbanken / py-MySQLdb && make install clean (FreeBSD)
  6. yum MySQL-Python installieren (Linux Fedora, CentOS ...)

Siehe für Windows folgende Antwort: Installieren Sie mysql-python (Windows)

derevo
quelle
1
Ich musste meine Version von setuptools aktualisieren, um sie an meine aktualisierte Version von Python unter Mac OS anzupassen, bevor ich dies zum Laufen bringen konnte.
Jonathan Adelson
4
und wie wäre es mit einer Installation auf virtualenv mit Python 3? Ich habe verwendet: pip install mysql-python nur um zu bekommen: ImportError: Kein Modul namens ConfigParser
Iliyan Bobev
9
In Python 3 wurde ConfigParser aus Gründen der PEP 8-Konformität in configparser umbenannt. Es sieht so aus, als ob das Paket, das Sie installieren, Python 3 nicht unterstützt. MySQL-Python unterstützt derzeit Python 3 nicht.
derevo
2
Ich erhalte diesen Fehler bei Verwendung von 1 oder 2 in OSX Yosemite:EnvironmentError: mysql_config not found
Mona Jalal
1
Zu Ihrer Information - Ich bin auf Ubuntu 18 und benutze Python3.7. Nachdem ich "pip install mysqlclient" ausgeführt hatte, musste ich "sudo apt-get install libmysqlclient-dev" ausführen, um eine erfolgreiche Installation zu gewährleisten.
Rashmi Singh
143

... und denken Sie daran, es gibt keine MySQLdb für python3.x

(Ich weiß, die Frage bezieht sich auf python2.x, aber Google bewertet diesen Beitrag ziemlich hoch.)


BEARBEITEN: Wie in den Kommentaren angegeben, gibt es eine MySQLdb-Gabel, die Python 3-Unterstützung hinzufügt: github.com/PyMySQL/mysqlclient-python

Janek Olszak
quelle
Urghhgwaarrbl ... es gibt meine Hoffnungen, Python3 in meiner Django-App zu verwenden
Don Cheadle
6
Glücklicherweise gibt es eine Auswahl von Alternativen, von denen viele dieselbe API verwenden: Python 3 und MySQL
Anthony Geoghegan
4
mysqlclient ist eine Abzweigung von MySQLdb, die gut mit Python 3
funktioniert
@JanekOlszak Ich wusste das nicht - es dauerte nur ungefähr einen Tag, an dem ich viel fluchte und auf die Tastatur schlug - bis ich dies las und zu 2.7 wechselte. Und raten Sie mal, alles funktioniert hunky-dory ~
3kstc
Meine Reise, das -> das -> das . Und dann konnte ich es endlich erfolgreich installieren.
Daka
68

Wenn Ihre Python-Version ist 3.5, tun Sie a pip install mysqlclient, andere Dinge haben bei mir nicht funktioniert

goksel
quelle
Ich weiß nicht, warum diese Antwort mysqlclientabgelehnt wurde , ist aber eine Abzweigung des MySQLdb-Projekts, und ich kann bestätigen, dass dies für mich unter Windows 10 funktioniert hat
Hamman Samuel
1
Arbeitete für mich unter Arch Linux
Luke Dupin
Arbeitete unter Ubuntu 16.10, Python 3.5.2+
tivadj
Arbeitete unter Ubuntu 14.04 Python 3.4.3
gpk27
Arbeitete unter MacOS, Python 3.6.0
Miguel Mota
48

mysqldbist ein Modul für Python, das nicht vorinstalliert oder mit Django geliefert wird. Sie können mysqldb hier herunterladen .

Evan Fosmark
quelle
1
Beim Versuch, MySQL-python-1.2.1 zu installieren, wird die Meldung ImportError angezeigt: Kein Modul mit dem Namen setuptools Beim Versuch, setuptools zu installieren, wird zlib nicht verfügbar. Soll es nicht mit Python gebündelt werden?
Pierre de LESPINAY
Nach dem Herunterladen des Moduls müssen Sie die Datei site.cfg mit dem richtigen Pfad für mysql_config und die runpython setup.py install
ntanase am
34

Ubuntu:

sudo apt-get install python-mysqldb
panckreous
quelle
25

Beachten Sie, dass dies nicht für Python 3.x getestet wurde

In CMD

pip install wheel
pip install pymysql

in settings.py

import pymysql
pymysql.install_as_MySQLdb()

Es hat bei mir funktioniert

A. Raouf
quelle
3
"pip3 install mysqlclient" löst das Problem für python3.6 /
showmyroutes
Ich kann das nicht genug bewerten! Die einzige Lösung, die auf Databricks funktioniert ..
Foxan Ng
13
pip install PyMySQL

und fügen Sie dann diese beiden Zeilen zu Ihrem Projekt / Projekt / init .py hinzu

import pymysql
pymysql.install_as_MySQLdb()

Funktioniert mit WIN und Python 3.3+

alphiii
quelle
Ich habe Ihren Vorschlag erfolgreich verwendet. Der Importbefehl enthielt nur eine Änderung: import pymysql Es gab einen Typ.
Jorge
arbeitete für mich unter Windows 10, Python 3.6, virtuelle Umgebung
Yikang Luo
1
Ich liebe diesen Hack. Obwohl ich es geschafft habe, es ohne es zum Laufen zu bringen, musste ich dennoch eine whql-Binärdatei einbauen.
Ishmael
Sollte die richtige Antwort sein.
Jossie Calderon
12

Versuche dies.

pip install MySQL-python
Venkat Kotra
quelle
2
Wie trifft dies speziell auf virtuelle Umgebungen zu?
Tim
9

für Fenster:

pip install mysqlclient pymysql

dann:

import pymysql pymysql.install_as_MySQLdb ()

für Python 3 Ubuntu

sudo apt-get install -y python3-mysqldb
Saurabh Chandra Patel
quelle
Das Ausführen von "pip install mysqlclient pymysql" unter Windows 10 (Python 3.6.2) hat mein Problem behoben.
Rick Sarvas
8

Wenn pip install mysqlclient einen Fehler verursacht und Sie Ubuntu verwenden, versuchen Sie:

sudo apt-get install -y python-dev libmysqlclient-dev && sudo pip install mysqlclient
Kostyantyn
quelle
6

Ich traf die gleiche Situation unter Windows und suchte nach der Lösung.

Siehe diesen Beitrag Installieren Sie mysql-python (Windows) .

Es wird darauf hingewiesen, dass die Installation einer solchen Pip-Umgebung schwierig ist und viele andere Abhängigkeiten erfordert.

Aber ich weiß endlich, dass wenn wir mysqlclientmit einer Version bis zu verwenden 1.3.4, diese Anforderungen nicht mehr benötigt werden, also versuchen Sie:

pip install mysqlclient==1.3.4
Alfred Huang
quelle
4
  • Gehen Sie mit zu Ihrem Projektverzeichnis cd.
  • source / bin / enable (aktiviere deine Umgebung, falls nicht vorher).
  • Führen Sie den Befehl aus easy_install MySQL-python
GrvTyagi
quelle
1
Funktioniert nichtModuleNotFoundError: No module named 'ConfigParser'
TomSawyer
4
pip install --user mysqlclient 

oben funktioniert für mich wie Charme für mich. Ich gehe den Fehler von sqlalchemy eigentlich. Umweltinformationen:

Python: 3.6, Ubuntu: 16.04, Condition 4.6.8

Forhad
quelle
3

Danke an derevo, aber ich denke, es gibt noch einen anderen guten Weg, dies zu tun:

  1. Laden Sie ActivePython herunter und installieren Sie es
  2. Öffnen Sie die Eingabeaufforderung
  3. Art pypm install mysql-python
  4. Lesen Sie die Hinweise zu diesem Paket.

Ich denke pypmist leistungsfähiger und zuverlässiger als easy_install.

Afshin Mehrabani
quelle
Scheint, als ob es ein kostenpflichtiges Abonnement erfordertCan't install mysql-python-1.2.3: requires Business Edition subscription
Jeremy S.
Das glaube ich nicht. Ich erinnere mich, dass ich das ohne Probleme installiert habe.
Afshin Mehrabani
Warum ist pypm Ihrer Meinung nach leistungsfähiger und zuverlässiger als easy_install? Gibt es Punkte, die das unterstützen? irgendwelche Artikel / Blogposts?
Sandeep Raju Prabhakar
2
Ich denke, dies wäre der Artikel / Blog-Beitrag, der Folgendes unterstützt: PI bedeutet, komm schon, Sie unterstützen einen solchen Kommentar mit typisch technischen Argumenten, nicht mit jemand anderem, der dasselbe behauptet, aber möglicherweise auch keine Argumente hat. Argumente wären jedoch nett;)
Herbert
3

Für Python 3+ Version

installieren mysql-connectorals:

pip3 install mysql-connector 

Beispiel für einen Python DB-Verbindungscode:

import mysql.connector
db_connection = mysql.connector.connect(
  host="localhost",
  user="root",
  passwd=""
)
print(db_connection)

Ausgabe:

> <mysql.connector.connection.MySQLConnection object at > 0x000002338A4C6B00>

Dies bedeutet, dass die Datenbank korrekt verbunden ist.

Om Sao
quelle
3

Ich persönlich empfehle, pymysqlanstelle des echten MySQL-Connectors zu verwenden, der Ihnen eine plattformunabhängige Schnittstelle bietet und über die installiert werden kann pip.

Und Sie können das SQLAlchemy-URL-Schema folgendermaßen bearbeiten: mysql+pymysql://username:passwd@host/database

Justin Lee
quelle
3

Für Python 3.6+ sudo apt-get install libmysqlclient-devund pip3 install mysqlclient macht den Trick

Umair
quelle
2

Wenn Sie unter Vista arbeiten, sollten Sie sich den Bitnami Django-Stack ansehen. Es handelt sich um einen All-in-One-Stapel aus Apache, Python, MySQL usw., der mit plattformübergreifenden Bitrock- Installationsprogrammen geliefert wird, um den Einstieg zu vereinfachen. Es läuft unter Windows, Mac und Linux. Oh, und ist völlig kostenlos :)

Daniel Lopez
quelle
Warum haben Sie dann "Wenn Sie unter Vista laufen" gesagt, wenn es unter mehr als Vista funktioniert? Das ist irreführend und verwirrend.
Anthony
3
Zu Anthony: Ich fand es einfach lustig, dass der am besten gewählte Kommentar Anweisungen für Linux, FreeBSD und OSX enthielt, aber nicht für Vista, wie auf dem Poster angegeben
Daniel Lopez,
2

Ich habe oben Methoden ausprobiert, aber immer noch kein Modul namens 'MySQLdb', schließlich gelingt es mir

easy_install mysql-python

mein env ist unbuntu 14.04

Pythoner
quelle
Erfolg für virtualenv / python2.7
nguyên
1

Unter OSX funktionierten diese Befehle für mich

brew install mysql-connector-c 
pip install MySQL-python
Joe Inner
quelle
1

Wenn Sie SQLAlchemy verwenden und der Fehler in /site-packages/sqlalchemy/dialects/mysql/mysqldb.py:

from ...connectors.mysqldb import (
                        MySQLDBExecutionContext,
                        MySQLDBCompiler,
                        MySQLDBIdentifierPreparer,
                        MySQLDBConnector
                    )

Möglicherweise haben Sie den mysqldb-Connector für verpasst, SQLAlchemyund die Lösung besteht darin, sqlalchemy nach der Installation des mysql-pythonModuls erneut zu installieren .

mtoloo
quelle
0

Win10 / Python27 das hat bei mir funktioniert:

easy_install mysql-python

Alle anderen 'pip install ...' sind mit Abhängigkeitsfehlern fehlgeschlagen

Krise
quelle
0

Keines der oben genannten Verfahren hat bei einer Neuinstallation von Ubuntu 18.04 über das Docker-Image für mich funktioniert.

Folgendes hat es für mich gelöst:

apt-get install holland python3-mysqldb

jfxninja
quelle
0

Auf meinem Mac mit Catalina v10.15.2 hatte ich den folgenden MySQLdb-Versionskonflikt:

ImportError: this is MySQLdb version (1, 2, 5, 'final', 1), but _mysql is version (1, 4, 6, 'final', 0)

Um das Problem zu beheben, habe ich Folgendes getan:

pip uninstall MySQL-python
pip install MySQL-python
ScottK
quelle
0

Unter Debian Buster funktionierte die folgende Lösung für mich mit Python 3.7:

sudo apt-get install libmysqlclient-dev
sudo apt-get install libssl-dev
pip install mysqlclient
nsssayom
quelle
0

Ich bin bei Ubuntu (Linux) und was für mich funktioniert hat war

sudo apt-get install python3-dev default-libmysqlclient-dev build-essential

und dann endlich

pip install mysqlclient
Arsalan Ahmad Ishaq
quelle