Tidak ada modul bernama MySQLdb


400

Saya menggunakan Python versi 2.5.4 dan menginstal MySQL versi 5.0 dan Django. Django bekerja dengan baik dengan Python, tetapi tidak dengan MySQL. Saya menggunakannya di Windows Vista.


43
pip install mysql-pythonataupip install mysqlclient
Cœur

13
Saya harus menginstal sudo apt-get install libmysqlclient-devuntuk membuatnya bekerja.
b00r00x0

pip install mysqlclient bekerja di windows x64 10, You rock Cœur
Itachi Sama

8
Untuk Python3.6 sudo apt-get install libmysqlclient-devdan pip3 install mysqlclientbekerja untuk saya
Umair

Jawaban:


639

Anda perlu menggunakan salah satu dari perintah berikut. Yang mana tergantung pada OS dan perangkat lunak yang Anda miliki dan gunakan.

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

Untuk Windows, lihat jawaban ini: Instal mysql-python (Windows)


1
Saya harus memperbarui versi setuptools saya agar sesuai dengan versi python saya yang diperbarui pada Mac OS sebelum saya dapat menjalankannya.
Jonathan Adelson

4
dan bagaimana menginstal di virtualenv dengan python 3 di atasnya? Saya menggunakan: pip instal mysql-python hanya untuk mendapatkan: ImportError: Tidak ada modul bernama ConfigParser
Iliyan Bobev

9
Dalam Python 3, ConfigParser telah diubah namanya menjadi configparser untuk kepatuhan PEP 8. Sepertinya paket yang Anda instal tidak mendukung Python 3. MySQL-python saat ini tidak mendukung Python 3.
derevo

2
Saya menerima kesalahan ini saat menggunakan 1 atau 2 di OSX Yosemite:EnvironmentError: mysql_config not found
Mona Jalal

1
FYI - Saya di ubuntu 18 dan menggunakan python3.7. Setelah melakukan "pip install mysqlclient", saya perlu melakukan "sudo apt-get install libmysqlclient-dev" agar instalasi berhasil.
Rashmi Singh

144

... dan ingat tidak ada MySQLdb untuk python3.x

(Saya tahu pertanyaannya adalah tentang python2.x tetapi google menilai posting ini cukup tinggi)


EDIT: Seperti yang dinyatakan dalam komentar, ada garpu MySQLdb yang menambahkan dukungan Python 3: github.com/PyMySQL/mysqlclient-python


Urghhgwaarrbl ... ada harapan saya untuk menggunakan python3 di aplikasi Django saya
Don Cheadle

6
Untungnya, ada pilihan alternatif, banyak di antaranya menggunakan API yang sama: Python 3 dan MySQL
Anthony Geoghegan

4
mysqlclient adalah fork dari MySQLdb yang bekerja dengan baik dengan Python 3.
ostrokach

@ JanekOlszak Saya tidak tahu ini - hanya membutuhkan waktu sekitar satu hari banyak kutukan dan membenturkan keyboard - sampai membaca ini dan bertukar ke 2,7. Dan coba tebak, semuanya bekerja keren-perahu nelayan ~
3kstc

Perjalanan saya, ini -> ini -> ini . Dan kemudian, saya akhirnya berhasil menginstalnya.
daka

68

jika versi python Anda adalah 3.5, lakukan pip install mysqlclient, hal-hal lain tidak berhasil untuk saya


Saya tidak tahu mengapa jawaban ini tidak dipilih, tetapi mysqlclientmerupakan percabangan dari proyek MySQLdb, dan saya dapat memastikan ini bekerja untuk saya di Windows 10
Hamman Samuel

1
Bekerja untuk saya di linux lengkung
Luke Dupin

Bekerja di Ubuntu 16.10, Python 3.5.2+
tivadj

Bekerja di Ubuntu 14.04 Python 3.4.3
gpk27

Bekerja pada macOS, Python 3.6.0
Miguel Mota

48

mysqldbadalah modul untuk Python yang tidak datang prainstal atau dengan Django. Anda dapat mengunduh di mysqldb sini .


1
Mencoba menginstal MySQL-python-1.2.1 Saya mendapatkan pesan ImportError: Tidak ada modul bernama setuptools Mencoba menginstal setuptools, saya mendapatkan zlib tidak tersedia bukankah seharusnya dibundel dengan python?
Pierre de LESPINAY

setelah mengunduh modul Anda harus mengedit file site.cfg dengan jalur yang benar untuk mysql_config dan python setup.py install
prosesnya


25

Catatan ini tidak diuji untuk python 3.x

Dalam CMD

pip install wheel
pip install pymysql

di settings.py

import pymysql
pymysql.install_as_MySQLdb()

Itu berhasil dengan saya


3
"pip3 install mysqlclient" pecahkan masalah untuk python3.6 /
showmyroutes

Saya tidak bisa cukup mengungguli ini! Satu-satunya solusi yang bekerja pada Databricks ..
Foxan Ng

13
pip install PyMySQL

dan kemudian tambahkan dua baris ini ke Project / Project / init .py Anda

import pymysql
pymysql.install_as_MySQLdb()

Bekerja pada WIN dan python 3.3+


Saya menggunakan saran Anda dengan sukses. Hanya perubahan yang ada di perintah impor: import pymysql Ada di ketik.
Jorge

bekerja untuk saya di windows10, python 3.6, lingkungan virtual
Yikang Luo

1
Cinta hack ini. Meskipun saya sudah berhasil membuatnya tanpa biner whql.
Ismael

Seharusnya jawaban yang benar.
Jossie Calderon

12

Coba ini.

pip install MySQL-python

2
Bagaimana ini berlaku khusus untuk lingkungan virtual?
Tim

9

untuk jendela:

pip install mysqlclient pymysql

kemudian:

import pymysql pymysql.install_as_MySQLdb ()

untuk python 3 Ubuntu

sudo apt-get install -y python3-mysqldb

Menjalankan "pip instal mysqlclient pymysql" di Windows 10 (Python 3.6.2) menyelesaikan masalah saya.
Rick Sarvas

8

Jika pip install mysqlclient menghasilkan kesalahan dan Anda menggunakan Ubuntu, coba:

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

6

Saya bertemu situasi yang sama di bawah windows, dan mencari solusinya.

Melihat posting ini Instal mysql-python (Windows) .

Ini menunjukkan menginstal lingkungan pip seperti itu sulit, membutuhkan banyak dependensi lainnya.

Tapi saya akhirnya tahu bahwa jika kita menggunakan mysqlclientversi ke bawah 1.3.4, tidak perlu persyaratan lagi, jadi coba:

pip install mysqlclient==1.3.4

4
  • Buka direktori proyek Anda dengan cd.
  • source / bin / aktifkan (aktifkan env Anda jika sebelumnya).
  • Jalankan perintah easy_install MySQL-python

1
Tidak berfungsiModuleNotFoundError: No module named 'ConfigParser'
TomSawyer

4
pip install --user mysqlclient 

di atas berfungsi untuk saya seperti pesona untuk saya. Saya pergi kesalahan dari sqlalchemy sebenarnya. Informasi lingkungan:

Python: 3.6, Ubuntu: 16.04, conda 4.6.8


3

Terima kasih kepada derevo, tetapi saya pikir ada cara lain yang baik untuk melakukan ini:

  1. Unduh dan instal ActivePython
  2. Buka Command Prompt
  3. Tipe pypm install mysql-python
  4. Baca catatan khusus untuk paket ini.

Saya pikir pypmlebih kuat dan dapat diandalkan daripada easy_install.


Sepertinya itu memerlukan langganan berbayarCan't install mysql-python-1.2.3: requires Business Edition subscription
Jeremy S.

Saya kira tidak. Saya ingat saya telah menginstalnya tanpa masalah.
Afshin Mehrabani

mengapa menurut Anda pypm lebih kuat dan dapat diandalkan daripada easy_install? ada poin untuk mendukung itu? ada artikel / blogpost?
Sandeep Raju Prabhakar

2
Saya pikir ini akan menjadi artikel / posting blog untuk mendukung bahwa: PI berarti, ayolah, Anda mendukung komentar seperti itu dengan biasanya argumen teknis, bukan dengan orang lain yang mengklaim hal yang sama, tetapi juga mungkin tidak memiliki argumen. Namun, argumen akan lebih baik;)
Herbert

3

Untuk versi Python 3+

instal mysql-connectorsebagai:

pip3 install mysql-connector 

Contoh kode koneksi Python DB:

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

Keluaran:

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

Ini berarti, basis data terhubung dengan benar.


3

Saya pribadi merekomendasikan untuk menggunakan pymysqldaripada menggunakan konektor MySQL asli, yang memberi Anda antarmuka independen platform dan dapat diinstal melaluipip .

Dan Anda dapat mengedit skema URL SQLAlchemy seperti ini: mysql+pymysql://username:passwd@host/database


3

Untuk Python 3.6+ sudo apt-get install libmysqlclient-devdan pip3 install mysqlclient lakukan triknya


2

Jika Anda menjalankan di Vista, Anda mungkin ingin memeriksa tumpukan Bitnami Django. Ini adalah tumpukan all-in-one dari Apache, Python, MySQL, dll. Dikemas dengan installer crossplatform Bitrock untuk membuatnya sangat mudah untuk memulai. Ini berjalan pada Windows, Mac dan Linux. Oh, dan sepenuhnya gratis :)


Lalu mengapa Anda mengatakan "Jika Anda menjalankan di Vista" jika itu akan bekerja lebih dari Vista? Itu menyesatkan dan membingungkan.
Anthony

3
Kepada Anthony: Saya baru saja merasa lucu bahwa komentar yang terpilih memberikan instruksi untuk Linux, FreeBSD dan OSX tetapi tidak untuk Vista sebagaimana ditentukan oleh poster
Daniel Lopez

2

Saya telah mencoba metode di atas, tetapi masih belum ada modul bernama 'MySQLdb', akhirnya, saya berhasil

easy_install mysql-python

env saya adalah unbuntu 14.04


sukses untuk virtualenv / python2.7
Nguyen

1

Di OSX, perintah ini bekerja untuk saya

brew install mysql-connector-c 
pip install MySQL-python

1

Jika Anda menggunakan SQLAlchemy dan kesalahan ada di /site-packages/sqlalchemy/dialects/mysql/mysqldb.py:

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

jadi Anda mungkin telah melewatkan konektor mysqldb untuk SQLAlchemydan solusinya adalah menginstal ulang sqlalchemy setelah menginstal mysql-pythonmodul.


0

Win10 / Python27 ini bekerja untuk saya:

easy_install mysql-python

semua 'pemasangan pipa ...' gagal dengan kesalahan ketergantungan


0

Tidak ada yang di atas bekerja untuk saya di Ubuntu 18,04 menginstal baru melalui gambar buruh pelabuhan.

Berikut ini memecahkannya untuk saya:

apt-get install holland python3-mysqldb


0

Di mac saya yang menjalankan Catalina v10.15.2, saya mengalami konflik versi MySQLdb berikut:

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

Untuk mengatasinya, saya melakukan hal berikut:

pip uninstall MySQL-python
pip install MySQL-python

0

Di Debian Buster, solusi berikut ini bekerja untuk saya dengan python 3.7:

sudo apt-get install libmysqlclient-dev
sudo apt-get install libssl-dev
pip install mysqlclient

0

Saya di ubuntu (linux) dan apa yang berhasil bagi saya adalah

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

dan akhirnya

pip install mysqlclient
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.