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.


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)


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


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


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 .


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


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


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+


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

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

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

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

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

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


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.


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.


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


3

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


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 :)


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


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

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 .


0

Win10 / Python27 das hat bei mir funktioniert:

easy_install mysql-python

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


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


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

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

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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.