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.

jbcedge
sumber
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)

derevo
sumber
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

Janek Olszak
sumber
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

Goksel
sumber
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 .

Evan Fosmark
sumber
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
34

Ubuntu:

sudo apt-get install python-mysqldb
seperti panckreous
sumber
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

A.Raouf
sumber
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+

alphiii
sumber
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
Venkat Kotra
sumber
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
Saurabh Chandra Patel
sumber
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
Kostyantyn
sumber
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
Alfred Huang
sumber
4
  • Buka direktori proyek Anda dengan cd.
  • source / bin / aktifkan (aktifkan env Anda jika sebelumnya).
  • Jalankan perintah easy_install MySQL-python
GrvTyagi
sumber
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

Forhad
sumber
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.

Afshin Mehrabani
sumber
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.

Om Sao
sumber
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

Justin Lee
sumber
3

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

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

Daniel Lopez
sumber
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

Pythoner
sumber
sukses untuk virtualenv / python2.7
Nguyen
1

Di OSX, perintah ini bekerja untuk saya

brew install mysql-connector-c 
pip install MySQL-python
Joe Inner
sumber
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.

mtoloo
sumber
0

Win10 / Python27 ini bekerja untuk saya:

easy_install mysql-python

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

Cris
sumber
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

jfxninja
sumber
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
ScottK
sumber
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
nsssayom
sumber
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
Arsalan Ahmad Ishaq
sumber