Không có mô-đun có tên MySQLdb


400

Tôi đang sử dụng Python phiên bản 2.5.4 và cài đặt MySQL phiên bản 5.0 và Django. Django đang hoạt động tốt với Python, nhưng không phải MySQL. Tôi đang sử dụng nó trong Windows Vista.


43
pip install mysql-pythonhoặcpip install mysqlclient
Cœur

13
Tôi đã phải cài đặt sudo apt-get install libmysqlclient-devđể làm cho nó hoạt động.
b00r00x0

Pip cài đặt mysqlclient hoạt động trên windows x64 10, Bạn rock Cœur
Itachi Sama

8
Dành cho Python3.6 sudo apt-get install libmysqlclient-devpip3 install mysqlclientlàm việc cho tôi
Umair

Câu trả lời:


638

Bạn cần sử dụng một trong các lệnh sau. Cái nào phụ thuộc vào hệ điều hành và phần mềm bạn có và sử dụng.

  1. easy_install mysql-python (trộn os)
  2. Pip cài đặt mysql-python (trộn os / python 2)
  3. Pip cài đặt mysqlclient (trộn os / python 3)
  4. apt-get cài đặt python-mysqldb (Linux Ubuntu, ...)
  5. cd / usr / cổng / cơ sở dữ liệu / py-MySQLdb && làm cho cài đặt sạch (FreeBSD)
  6. yum cài đặt MySQL-python (Linux Fedora, CentOS ...)

Đối với Windows, hãy xem câu trả lời này: Cài đặt mysql-python (Windows)


1
Tôi đã phải cập nhật phiên bản setuptools của mình để phù hợp với phiên bản python đã cập nhật của tôi trên Mac OS trước khi tôi có thể làm việc này.
Jonathan Adelson

4
và cài đặt trên virtualenv với python 3 trên đó thì sao? Tôi đã sử dụng: pip chỉ cài đặt mysql-python để nhận: ImportError: Không có mô-đun nào có tên ConfigParser
Iliyan Bobev

9
Trong Python 3, ConfigParser đã được đổi tên thành configparser để tuân thủ PEP 8. Có vẻ như gói bạn đang cài đặt không hỗ trợ Python 3. MySQL-python hiện không hỗ trợ Python 3.
derevo

2
Tôi nhận được lỗi này khi sử dụng 1 hoặc 2 trong OSX Yosemite:EnvironmentError: mysql_config not found
Mona Jalal

1
FYI - Tôi đang dùng Ubuntu 18 và đang sử dụng python3.7. Sau khi thực hiện "pip install mysqlclient", tôi cần phải thực hiện "sudo apt-get install libmysqlclient-dev" để cài đặt thành công.
Rashmi Singh

143

... Và hãy nhớ rằng không có MySQLdb cho python3.x

(Tôi biết câu hỏi là về python2.x nhưng google đánh giá bài đăng này khá cao)


EDIT: Như đã nêu trong các bình luận, có một ngã ba của MySQLdb có thêm hỗ trợ Python 3: github.com/PyMySQL/mysqlclient-python


Urghhgwaarrbl ... tôi hy vọng sẽ sử dụng python3 trong ứng dụng Django của mình
Don Cheadle

6
May mắn thay, có một lựa chọn thay thế, nhiều trong số đó sử dụng cùng một API: Python 3 và MySQL
Anthony Geoghegan

4
mysqlclient là một nhánh của MySQLdb hoạt động tốt với Python 3.
Ostrokach 4/2/2016

@JanekOlszak Tôi không biết điều này - chỉ mất khoảng một ngày nhiều lời chửi rủa và đập bàn phím - cho đến khi đọc nó và đổi qua 2.7. Hãy đoán xem, mọi thứ hoạt động hunky-dory ~
3kstc

Cuộc hành trình của tôi, điều này -> này -> này . Và sau đó, tôi cuối cùng đã có thể cài đặt thành công.
daka

68

nếu phiên bản python của bạn là 3.5, hãy làm pip install mysqlclient, những thứ khác không hoạt động với tôi


Tôi không biết tại sao câu trả lời này lại bị bỏ phiếu, nhưng mysqlclientlà một nhánh của dự án MySQLdb và tôi có thể xác nhận câu trả lời này có hiệu quả với tôi trên Windows 10
Hamman Samuel

1
Làm việc cho tôi trên arch linux
Luke Dupin

Đã hoạt động trên Ubuntu 16.10, Python 3.5.2+
tivadj 16/07/17

Đã hoạt động trên Ubuntu 14.04 Python 3.4.3
gpk27

Hoạt động trên macOS, Python 3.6.0
Miguel Mota

48

mysqldblà một mô-đun cho Python không được cài đặt sẵn hoặc với Django. Bạn có thể tải về mysqldb ở đây .


1
Đang cố gắng cài đặt MySQL-python-1.2.1 Tôi nhận được thông báo ImportError: Không có mô-đun nào có tên setuptools Đang cố gắng cài đặt setuptools, tôi nhận được zlib không có sẵn không phải là gói python?
Pierre de LESPINAY

sau khi tải xuống mô-đun, bạn sẽ cần chỉnh sửa tệp site.cfg với đường dẫn phù hợp cho mysql_config và chạypython setup.py install
ntanase


25

Lưu ý điều này không được kiểm tra cho python 3.x

Trong CMD

pip install wheel
pip install pymysql

trong cài đặt

import pymysql
pymysql.install_as_MySQLdb()

Nó làm việc với tôi


3
"Pip3 cài đặt mysqlclient" giải quyết vấn đề cho python3.6 /
showmyroutes

Tôi không thể nâng cao điều này đủ! Giải pháp duy nhất hoạt động trên Databricks ..
Foxan Ng 22/11/18

13
pip install PyMySQL

và sau đó thêm hai dòng này vào Project / Project / init .py của bạn

import pymysql
pymysql.install_as_MySQLdb()

Hoạt động trên WIN và python 3.3+


Tôi đã sử dụng đề nghị của bạn thành công. Chỉ có thay đổi trong lệnh nhập: nhập pymysql Có loại.
Jorge

làm việc cho tôi trên windows10, python 3.6, môi trường ảo
Yikang Luo

1
Yêu hack này. Mặc dù tôi đã quản lý để làm cho nó hoạt động mà không cần phải kết hợp nhị phân whql.
Ishmael

Nên là câu trả lời đúng.
Jossie Calderon

12

Thử cái này.

pip install MySQL-python

2
Làm thế nào điều này áp dụng cụ thể cho môi trường ảo?
Tim

9

cho cửa sổ:

pip install mysqlclient pymysql

sau đó:

nhập pymysql pymysql.install_as_MySQLdb ()

cho python 3 Ubuntu

sudo apt-get install -y python3-mysqldb

Chỉ chạy "pip install mysqlclient pymysql" trên Windows 10 (Python 3.6.2) đã giải quyết vấn đề của tôi.
Rick Sarvas

8

Nếu pip cài đặt mysqlclient tạo ra lỗi và bạn sử dụng Ubuntu, hãy thử:

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

6

Tôi đã gặp tình huống tương tự dưới cửa sổ, và tìm kiếm giải pháp.

Xem bài đăng này Cài đặt mysql-python (Windows) .

Nó chỉ ra việc cài đặt một môi trường pip như vậy là khó khăn, cần nhiều phụ thuộc khác.

Nhưng cuối cùng tôi cũng biết rằng nếu chúng tôi sử dụng mysqlclientphiên bản mới 1.3.4, nó không cần các yêu cầu đó nữa, vì vậy hãy thử:

pip install mysqlclient==1.3.4

4
  • Tới thư mục dự án của bạn với cd.
  • nguồn / bin / kích hoạt (kích hoạt env của bạn nếu không trước đó).
  • Chạy lệnh easy_install MySQL-python

1
Không hoạt độngModuleNotFoundError: No module named 'ConfigParser'
TomSawyer 17/03/19

4
pip install --user mysqlclient 

ở trên làm việc cho tôi như sự quyến rũ đối với tôi. Tôi thực sự gặp lỗi từ sqlalchemy. Thông tin môi trường:

Python: 3.6, Ubuntu: 16.04, conda 4.6.8


3

Cảm ơn derevo nhưng tôi nghĩ có một cách khác để làm điều này:

  1. Tải xuống và cài đặt ActivePython
  2. Dấu nhắc mở
  3. Kiểu pypm install mysql-python
  4. Đọc các ghi chú cụ thể cho gói này.

Tôi nghĩ pypmlà mạnh mẽ và đáng tin cậy hơn easy_install.


Có vẻ như nó yêu cầu đăng ký trả phíCan't install mysql-python-1.2.3: requires Business Edition subscription
Jeremy S.

Tôi không nghĩ vậy. Tôi nhớ tôi đã cài đặt mà không có vấn đề.
Afshin Mehrabani

Tại sao bạn nghĩ pypm mạnh hơn và đáng tin cậy hơn easy_install? bất kỳ điểm nào để hỗ trợ đó? bất kỳ bài viết / blogposts?
Sandeep Raju Mitchhakar

2
Tôi nghĩ rằng đây sẽ là bài viết / bài đăng trên blog để hỗ trợ rằng: PI có nghĩa là, bạn ủng hộ một nhận xét như vậy với các đối số kỹ thuật điển hình, không phải với người khác tuyên bố tương tự, nhưng cũng có thể không có đối số. Tuy nhiên, các đối số sẽ tốt đẹp;)
Herbert

3

Đối với phiên bản Python 3+

cài đặt mysql-connectornhư:

pip3 install mysql-connector 

Mã kết nối Python DB mẫu:

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

Đầu ra:

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

Điều này có nghĩa, cơ sở dữ liệu được kết nối chính xác.


3

Cá nhân tôi khuyên bạn nên sử dụng pymysqlthay vì sử dụng trình kết nối MySQL chính hãng, cung cấp cho bạn giao diện độc lập với nền tảng và có thể được cài đặt thông qua pip.

Và bạn có thể chỉnh sửa lược đồ URL SQLAlchemy như thế này: mysql+pymysql://username:passwd@host/database


3

Đối với Python 3.6+ sudo apt-get install libmysqlclient-devpip3 install mysqlclient thực hiện thủ thuật


2

Nếu bạn đang chạy trên Vista, bạn có thể muốn kiểm tra ngăn xếp Bitnami Django. Nó là một chồng tất cả trong một gồm Apache, Python, MySQL, v.v. được đóng gói với các trình cài đặt đa nền tảng Bitrock để làm cho nó thực sự dễ dàng để bắt đầu. Nó chạy trên Windows, Mac và Linux. Ồ, và hoàn toàn miễn phí :)


Vậy thì tại sao bạn lại nói "Nếu bạn đang chạy trên Vista" nếu nó hoạt động trên Vista nhiều hơn? Điều đó gây hiểu lầm và khó hiểu.
Anthony

3
Đối với Anthony: Tôi chỉ thấy buồn cười khi bình luận được bình chọn hàng đầu đã cung cấp hướng dẫn cho Linux, FreeBSD và OSX nhưng không dành cho Vista như được chỉ định bởi người đăng
Daniel Lopez

2

Tôi đã thử các phương thức ở trên, nhưng vẫn không có mô-đun nào có tên 'MySQLdb', cuối cùng, tôi đã thành công với

easy_install mysql-python

env của tôi là unbfox 14.04


thành công cho virtualenv / python2.7
nguyên

1

Trên OSX, các lệnh này hoạt động với tôi

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

1

Nếu bạn đang sử dụng SQLAlchemy và lỗi là /site-packages/sqlalchemy/dialects/mysql/mysqldb.py:

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

vì vậy bạn có thể đã bỏ lỡ trình kết nối mysqldb SQLAlchemyvà giải pháp là cài đặt lại sqlalchemy sau khi cài đặt mysql-pythonmô-đun.


0

Win10 / Python27 này hoạt động với tôi:

easy_install mysql-python

tất cả các 'cài đặt pip ...' khác đều thất bại với lỗi phụ thuộc


0

Không có cái nào ở trên hoạt động với tôi trên bản cài đặt Ubuntu 18.04 mới thông qua hình ảnh docker.

Sau đây đã giải quyết nó cho tôi:

apt-get install holland python3-mysqldb


0

Trên máy Mac của tôi đang chạy Catalina v10.15.2, tôi đã có xung đột phiên bản MySQLdb sau:

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

Để giải quyết nó, tôi đã làm như sau:

pip uninstall MySQL-python
pip install MySQL-python

0

Trên Debian Buster, giải pháp sau đây phù hợp với tôi với python 3.7:

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

0

Tôi đang ở ubfox (linux) và những gì làm việc cho tôi là

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

và cuối cùng

pip install mysqlclient
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.