Làm cách nào tôi có thể cài đặt mô-đun MySQLdb cho Python bằng pip?
Làm cách nào tôi có thể cài đặt mô-đun MySQLdb cho Python bằng pip?
Câu trả lời:
Thật dễ để làm, nhưng khó nhớ chính tả:
pip install mysqlclient
Nếu bạn cần phiên bản 1.2.x (chỉ dành cho Python kế thừa), hãy sử dụng pip install MySQL-python
Lưu ý: Một số phụ thuộc có thể phải được đặt đúng chỗ khi chạy lệnh trên. Một số gợi ý về cách cài đặt chúng trên các nền tảng khác nhau:
sudo apt-get install python-pip python-dev libmysqlclient-dev
sudo dnf install python python-devel mysql-devel redhat-rpm-config gcc
brew install mysql-connector-c
nếu thất bại, hãy thử
brew install mysql
pip search mysql
và tìm tên bạn cần trong đầu ra.
pip search mysqldb
và không tìm thấy nó. Vì vậy, tôi +1 câu trả lời này.
Bắt đầu từ một hệ thống Ubuntu 14.04.2 mới, hai lệnh này là cần thiết:
apt-get install python-dev libmysqlclient-dev
pip install MySQL-python
Chỉ làm "cài đặt pip" tự nó không hoạt động.
Từ http://codeinthehole.com/wr/how-to-set-up-mysql-for-python-on-ub Ubuntu /
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
việc sử dụngsudo apt-get install build-essential
Đầu tiên
pip install pymysql
Sau đó đặt mã dưới đây vào __init__.py
( projectname/__init__.py
)
import pymysql
pymysql.install_as_MySQLdb()
Môi trường của tôi là (python3.5, django1.10) và giải pháp này hiệu quả với tôi!
Hi vọng điêu nay co ich!!
Tôi gặp sự cố khi cài đặt phiên bản MySQLdb 64 bit trên Windows thông qua Pip (nguồn biên dịch sự cố) [Phiên bản 32 bit được cài đặt ok]. Được quản lý để cài đặt MySQLdb đã biên dịch từ tệp .whl có sẵn từ http://www.lfd.uci.edu/~gohlke/pythonlibs/
Sau đó, tệp .whl có thể được cài đặt qua pip dưới dạng tài liệu trong https://pip.pypa.io/en/latest/user_guide/#installing-from-wheels
Ví dụ: nếu bạn lưu trong C:/
, bạn có thể cài đặt qua
pip install c:/MySQL_python-1.2.5-cp27-none-win_amd64.whl
Theo dõi: nếu bạn đã cài đặt phiên bản Python 64 bit, thì bạn muốn cài đặt phiên bản AMD 64 bit của MySQLdb từ liên kết trên [tức là ngay cả khi bạn có bộ xử lý Intel]. Thay vào đó, nếu bạn thử và cài đặt phiên bản 32 bit, tôi nghĩ bạn sẽ gặp lỗi bánh xe không được hỗ trợ trong các bình luận bên dưới.
pip install mysqlclient-1.3.7-cp27-none-win_amd64.whl
làm việc tuyệt vời
whl
tệp (Tôi đã 64 bit để phù hợp với cài đặt Python 64 bit của tôi). Lưu tập tin vào c:/
thư mục và chạy pip install c:/MySQL_python-1.2.5-cp27-none-win_amd64.whl
Nó được cài đặt trong vài giây và rất tốt để đi. Quá dễ dàng!
điều này làm việc cho tôi:
pip install mysqlclient
cái này dành cho python 3.x
Tôi đã thử tất cả các tùy chọn nhưng không thể làm cho nó hoạt động trên nền tảng Redhat. Tôi đã làm như sau để làm cho nó hoạt động: -
yum install MySQL-python -y
Khi gói đã được cài đặt, có thể nhập mô-đun như sau trong trình thông dịch: -
>>> import MySQLdb
>>>
pip
. Bạn đang sử dụng bản phân phối nào? Trên Fedora 24, điều này hoạt động để cài đặt mô-đun qua pip : sudo dnf install python python-devel mysql-devel redhat-rpm-config gcc
,sudo pip install MySQL-python
Đi tới pycharm, sau đó chuyển đến cài đặt mặc định -> pip (nhấp đúp chuột) - pymsqldb ..--> cài đặt - sau khi cài đặt sử dụng trong một chương trình như thế này
import pymysql as MySQLdb
# Open database connection
db = MySQLdb.connect("localhost","root","root","test" )
# prepare a cursor object using cursor() method
cursor = db.cursor()
# execute SQL query using execute() method.
cursor.execute("show tables")
# Fetch a single row using fetchone() method.
data = cursor.fetchall()
print (data)
# disconnect from server
db.close()
Nếu bạn đang sử dụng Raspberry Pi [Hệ điều hành Raspbian]
Lúc đầu cần phải cài đặt lệnh pip
apt-get install python-pip
Vì vậy, chỉ cần cài đặt liên tục
apt-get install python-dev libmysqlclient-dev
apt-get install python-pip
pip install MySQL-python
Nếu bạn không thể cài đặt mysqlclient bạn cũng có thể cài đặt pymysql :
pip install pymysql
Điều này hoạt động tương tự như MySqldb . Sau đó, sử dụng pymysql trên tất cả thay vì MySQLdb
Tôi cũng gặp vấn đề tương tự. Thực hiện theo các bước này nếu bạn ở trên Windows. Truy cập: 1. Máy tính của tôi 2. Thuộc tính hệ thống 3. Cài đặt hệ thống nâng cao 4. Trong tab "Nâng cao", nhấp vào nút "Biến môi trường" 5. Sau đó, trong Biến hệ thống, bạn phải thêm / thay đổi các biến sau: PYTHONPATH và con đường. Đây là một dán của các biến của tôi trông như thế nào: đường dẫn python:
C:\Python27;C:\Python27\Lib\site-packages;C:\Python27\Lib;C:\Python27\DLLs;C:\Python27\Lib\lib-tk;C:\Python27\Scripts
con đường:
C:\Program Files\MySQL\MySQL Utilities 1.3.5\;C:\Python27;C:\Python27\Lib\site-packages;C:\Python27\Lib;C:\Python27\DLLs;C:\Python27\Lib\lib-tk;C:\Python27\Scripts
Xem liên kết này để tham khảo
Câu trả lời trên rất hay, nhưng có thể có một số vấn đề khi chúng ta sử dụng pip để cài đặt MySQL-python trong Windows
ví dụ: Nó cần một số tệp được liên kết với giải pháp Visual Stdio .One đang cài đặt VS2008 hoặc 2010, Rõ ràng, nó có giá quá cao.
Một cách khác là câu trả lời của @ bob90937. Tôi ở đây để làm một cái gì đó để thêm.
với http://www.lfd.uci.edu/~gohlke/pythonlibs , bạn có thể tải xuống nhiều tệp nhị phân Windows của nhiều gói mở rộng nguồn mở khoa học để phân phối CPython chính thức của ngôn ngữ lập trình Python.
Quay lại chủ đề, chúng ta có thể chọn MySQL-python (py2) hoặc Mysqlclient (py3) và sử dụng cài đặt pip để cài đặt. nó mang lại cho chúng tôi sự tiện lợi tuyệt vời!
Đối với Python3 tôi cần phải làm điều này:
python3 -m pip install MySQL
pip install mysql-connector-python
như đã lưu ý trong tài liệu:
https://dev.mysql.com/doc/connector-python/en/connector-python-installation-binary.html
Nếu bạn đã cài đặt Windows trên hệ thống của mình thì hãy gõ lệnh sau trên cmd:
pip install mysql-connector
nếu lệnh trên không hoạt động, hãy thử sử dụng:
pip install mysql-connector-python
Bây giờ, nếu các lệnh trên không hoàn thành công việc, hãy thử sử dụng:
pip install mysql-connector-python-rf
Đó là bạn tốt để đi bây giờ.
Nếu pip3 không hoạt động, bạn có thể thử:
sudo apt install python3-mysqldb
Môi trường của tôi là:
Pip cài đặt mysqlclient-1.3.13-cp37-cp37m-win_amd64.whl
làm việc cho tôi
import MySQLdb, sys
# --------------------------------------------------
# Connect to MySQL
# --------------------------------------------------
try:
db = MySQLdb.connect(host="localhost", user="user", passwd="pass", db="database", charset='cp1251')
except MySQLdb.Error as e:
print ("Error %d: %s" % (e.args[0], e.args[1]))
sys.exit()
# Creating cursor
cursor = db.cursor()
Thật ra, hãy làm theo câu trả lời của @Nick T không hiệu quả với tôi, tôi thử apt-get install python-mysqldb
làm việc cho tôi
root@2fb0da64a933:/home/test_scrapy# apt-get install python-mysqldb
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
libmariadbclient18 mysql-common
Suggested packages:
default-mysql-server | virtual-mysql-server python-egenix-mxdatetime python-mysqldb-dbg
The following NEW packages will be installed:
libmariadbclient18 mysql-common python-mysqldb
0 upgraded, 3 newly installed, 0 to remove and 29 not upgraded.
Need to get 843 kB of archives.
After this operation, 4611 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://deb.debian.org/debian stretch/main amd64 mysql-common all 5.8+1.0.2 [5608 B]
Get:2 http://deb.debian.org/debian stretch/main amd64 libmariadbclient18 amd64 10.1.38-0+deb9u1 [785 kB]
Get:3 http://deb.debian.org/debian stretch/main amd64 python-mysqldb amd64 1.3.7-1.1 [52.1 kB]
Fetched 843 kB in 23s (35.8 kB/s)
debconf: delaying package configuration, since apt-utils is not installed
Selecting previously unselected package mysql-common.
(Reading database ... 13223 files and directories currently installed.)
Preparing to unpack .../mysql-common_5.8+1.0.2_all.deb ...
Unpacking mysql-common (5.8+1.0.2) ...
Selecting previously unselected package libmariadbclient18:amd64.
Preparing to unpack .../libmariadbclient18_10.1.38-0+deb9u1_amd64.deb ...
Unpacking libmariadbclient18:amd64 (10.1.38-0+deb9u1) ...
Selecting previously unselected package python-mysqldb.
Preparing to unpack .../python-mysqldb_1.3.7-1.1_amd64.deb ...
Unpacking python-mysqldb (1.3.7-1.1) ...
Setting up mysql-common (5.8+1.0.2) ...
update-alternatives: using /etc/mysql/my.cnf.fallback to provide /etc/mysql/my.cnf (my.cnf) in auto mode
Setting up libmariadbclient18:amd64 (10.1.38-0+deb9u1) ...
Processing triggers for libc-bin (2.24-11+deb9u3) ...
Setting up python-mysqldb (1.3.7-1.1) ...
root@2fb0da64a933:/home/test_scrapy# python
Python 2.7.13 (default, Nov 24 2017, 17:33:09)
[GCC 6.3.0 20170516] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import MySQLdb
>>>