web-dev-qa-db-de.com

Kein Modul namens MySQLdb

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.

350
jbcedge

Sie müssen einen der folgenden Befehle verwenden. Welches davon abhängt, welches Betriebssystem und welche Software Sie 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/database/py-MySQLdb && installiere sauber (FreeBSD)
  6. yum installiere MySQL-Python (Linux Fedora, CentOS ...)

Für Windows finden Sie diese Antwort: Installieren Sie mysql-python (Windows)

579
derevo

... und denk dran, es gibt keine MySQLdb für python3.x

(Ich weiß, dass die Frage über python2.x ist, aber Google bewertet diesen Beitrag als ziemlich hoch.)


EDIT: Wie in den Kommentaren angegeben, gibt es einen MySQLdb-Zweig, der Python 3-Unterstützung hinzufügt: github.com/ PyMySQL/mysqlclient-python

125
Janek Olszak

wenn Ihre python -Version 3.5 ist, machen Sie einen pip install mysqlclient, andere Dinge haben bei mir nicht funktioniert

60
goksel

mysqldb ist ein Modul für Python, das weder vorinstalliert noch mit Django geliefert wird. Sie können mysqldbhier herunterladen.

45
Evan Fosmark

Ubuntu:

Sudo apt-get install python-mysqldb
33
panckreous

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

21
A.Raouf

Versuche dies.

pip install MySQL-python
11
Venkat Kotra
pip install PyMySQL

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

import pymysql
pymysql.install_as_MySQLdb()

Funktioniert mit WIN und python 3.3+

10
alphiii

Wenn die Pip-Installation von mysqlclient einen Fehler erzeugt und Sie Ubuntu verwenden, versuchen Sie Folgendes:

Sudo apt-get install -y python-dev libmysqlclient-dev && Sudo pip install mysqlclient
7
Kostyantyn

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

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

Lesen Sie 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 mysqlclient mit einer Version bis zu 1.3.4 verwenden, es diese Anforderungen nicht mehr braucht, also versuchen Sie:

pip install mysqlclient==1.3.4
5
Alfred Huang
  • Wechseln Sie mit cd in Ihr Projektverzeichnis.
  • source/bin/activate (aktiviere deine Umgebung, falls nicht schon vorher).
  • Führen Sie den Befehl easy_install MySQL-python aus.
4
GrvTyagi
pip install --user mysqlclient 

oben funktioniert bei mir wie charm bei mir. ich gehe den fehler von sqlalchemy eigentlich aus. Umgebungsinformationen:

Python: 3.6, Ubuntu: 16.04, Conda 4.6.8

3
Forhad

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

  1. Downloaden und installieren Sie ActivePython
  2. Öffnen Sie die Eingabeaufforderung
  3. Typ pypm install mysql-python
  4. Lesen Sie die spezifischen Hinweise zu diesem Paket.

Ich denke, pypm ist leistungsfähiger und zuverlässiger als easy_install.

3

Wenn Sie mit Vista arbeiten, können Sie den Bitnami Django -Stack ausprobieren. Es ist ein All-in-One-System Stapel von Apache, Python, MySQL usw., die mit Bitrock plattformübergreifenden Installationsprogrammen gepackt sind, um den Einstieg zu erleichtern. Es läuft unter Windows, Mac und Linux. Oh, und ist völlig kostenlos :)

2
Daniel Lopez

Für Python 3 + Version

installiere mysql-connector als:

pip3 install mysql-connector 

Beispiel 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.

2
Om Prakash Sao

Ich habe oben Methoden ausprobiert, aber immer noch kein Modul mit dem Namen 'MySQLdb'

easy_install mysql-python

mein env ist unbuntu 14.04

2
Pythoner

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

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

möglicherweise haben Sie den mysqldb-Connector für SQLAlchemy verpasst, und die Lösung besteht darin, sqlalchemy nach der Installation des mysql-python -Moduls erneut zu installieren.

1
mtoloo

Unter OSX funktionierten diese Befehle für mich

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

Win10/Python27 das hat bei mir funktioniert:

easy_install mysql-python

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

0
Cris