ฉันจะติดตั้งโมดูลMySQLdbสำหรับ Python โดยใช้ pip ได้อย่างไร
ฉันจะติดตั้งโมดูลMySQLdbสำหรับ Python โดยใช้ pip ได้อย่างไร
คำตอบ:
มันง่ายที่จะทำ แต่ยากที่จะจำการสะกดที่ถูกต้อง:
pip install mysqlclient
หากคุณต้องการรุ่น 1.2.x (Python ดั้งเดิมเท่านั้น) ให้ใช้ pip install MySQL-python
หมายเหตุ: การอ้างอิงบางอย่างอาจต้องมีอยู่เมื่อรันคำสั่งด้านบน คำแนะนำบางประการเกี่ยวกับวิธีการติดตั้งเหล่านี้บนแพลตฟอร์มต่างๆ:
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
หากล้มเหลวให้ลอง
brew install mysql
pip search mysql
และค้นหาชื่อที่คุณต้องการในผลลัพธ์
pip search mysqldb
แล้วไม่พบมัน ดังนั้นฉัน +1 คำตอบนี้
เริ่มต้นจาก Ubuntu 14.04.2 ระบบใหม่จำเป็นต้องใช้สองคำสั่งนี้:
apt-get install python-dev libmysqlclient-dev
pip install MySQL-python
เพียงแค่ทำการ "ติดตั้ง pip" ด้วยตัวเองไม่ได้ผล
จากhttp://codeinthehole.com/writing/how-to-set-up-mysql-for-python-on-ubuntu/
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
ใช้งานsudo apt-get install build-essential
เป็นครั้งแรก
pip install pymysql
จากนั้นใส่รหัสด้านล่างลงใน__init__.py
( projectname/__init__.py
)
import pymysql
pymysql.install_as_MySQLdb()
สภาพแวดล้อมของฉันคือ (python3.5, django1.10) และวิธีนี้ใช้ได้สำหรับฉัน!
หวังว่านี่จะช่วยได้ !!
ฉันมีปัญหาในการติดตั้ง MySQLdb รุ่น 64 บิตบน Windows ผ่าน Pip (แหล่งรวบรวมปัญหา) [ติดตั้งรุ่น 32 บิต ok] จัดการเพื่อติดตั้ง MySQLdb ที่คอมไพล์จากไฟล์. whl จากhttp://www.lfd.uci.edu/~gohlke/pythonlibs/
ไฟล์ .whl สามารถติดตั้งผ่าน pip เป็นเอกสารในhttps://pip.pypa.io/en/latest/user_guide/#installing-from-wheels
ตัวอย่างเช่นถ้าคุณบันทึกC:/
คุณสามารถติดตั้งผ่าน
pip install c:/MySQL_python-1.2.5-cp27-none-win_amd64.whl
การติดตามผล: หากคุณติดตั้ง Python เวอร์ชัน 64 บิตแล้วคุณต้องการติดตั้ง MySQLdb รุ่น 64 บิตของ AMDdb จากลิงค์ด้านบน [เช่นแม้ว่าคุณจะมีหน่วยประมวลผล Intel] หากคุณลองและติดตั้งรุ่น 32 บิตแทนฉันคิดว่าคุณได้รับข้อผิดพลาดของวงล้อที่ไม่สนับสนุนในความคิดเห็นด้านล่าง
pip install mysqlclient-1.3.7-cp27-none-win_amd64.whl
ทำงานได้ดี
whl
ไฟล์ (ฉันต้องการ 64 บิตเพื่อให้ตรงกับการติดตั้ง Python 64 บิตของฉัน) ไฟล์ที่บันทึกไว้ในc:/
ไดเรกทอรีและวิ่งpip install c:/MySQL_python-1.2.5-cp27-none-win_amd64.whl
มันติดตั้งในไม่กี่วินาทีและเป็นเรื่องที่ดีที่จะไป ง่ายเกินไป!
สิ่งนี้ใช้ได้ผลกับฉัน:
pip install mysqlclient
นี่สำหรับ python 3.x
ฉันลองตัวเลือกทั้งหมด แต่ไม่สามารถใช้งานได้บนแพลตฟอร์ม Redhat ฉันทำสิ่งต่อไปนี้เพื่อให้ทำงานได้: -
yum install MySQL-python -y
เมื่อติดตั้งแพคเกจก็สามารถที่จะนำเข้าโมดูลดังต่อไปนี้ในล่าม: -
>>> import MySQLdb
>>>
pip
คำถามที่ได้รับการกล่าวขวัญ specificly คุณใช้การกระจายแบบใด บน Fedora 24 งานนี้เพื่อติดตั้งโมดูลผ่าน pip: sudo dnf install python python-devel mysql-devel redhat-rpm-config gcc
,sudo pip install MySQL-python
ไปที่ pycharm จากนั้นไปที่การตั้งค่าเริ่มต้น -> pip (ดับเบิ้ลคลิก) - pymsqldb ..--> ติดตั้ง - หลังจากติดตั้งใช้งานในโปรแกรมเช่นนี้
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()
หากคุณใช้ Raspberry Pi [Raspbian OS]
จำเป็นต้องติดตั้งคำสั่ง pip ในตอนแรก
apt-get install python-pip
เพื่อที่จะติดตั้งตามลำดับ
apt-get install python-dev libmysqlclient-dev
apt-get install python-pip
pip install MySQL-python
คุณสามารถไปที่เว็บไซต์นี้เพื่อดาวน์โหลดแพ็คเกจ
หากคุณไม่สามารถติดตั้งmysqlclientคุณยังสามารถติดตั้งpymysql :
pip install pymysql
นี้ทำงานเช่นเดียวกับMySQLdb หลังจากนั้นใช้ pymysql ทั่วแทนที่จะเป็น MySQLdb
ฉันมีปัญหาเดียวกันด้วยทำตามขั้นตอนเหล่านี้หากคุณใช้ Windows ไปที่: 1. คอมพิวเตอร์ของฉัน 2. คุณสมบัติของระบบ 3. การตั้งค่าระบบขั้นสูง 4. ภายใต้แท็บ "ขั้นสูง" คลิกปุ่มที่ระบุว่า "ตัวแปรสภาพแวดล้อม" 5. จากนั้นภายใต้ตัวแปรระบบคุณต้องเพิ่ม / เปลี่ยนตัวแปรต่อไปนี้: PYTHONPATH และเส้นทาง นี่คือสิ่งที่ตัวแปรของฉันดูเหมือน: เส้นทางหลาม:
C:\Python27;C:\Python27\Lib\site-packages;C:\Python27\Lib;C:\Python27\DLLs;C:\Python27\Lib\lib-tk;C:\Python27\Scripts
เส้นทาง:
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
ดูลิงค์นี้สำหรับการอ้างอิง
คำตอบข้างต้นนั้นยอดเยี่ยม แต่อาจมีปัญหาเมื่อเราใช้ pip เพื่อติดตั้ง MySQL-python ในWindows
ตัวอย่างเช่นต้องการไฟล์บางไฟล์ที่เกี่ยวข้องกับVisual Stdio . One solution กำลังติดตั้ง VS2008 หรือ 2010 ……. เห็นได้ชัดว่ามันมีค่าใช้จ่ายมากเกินไป
อีกวิธีคือคำตอบของ @ bob90937 ฉันอยู่ที่นี่เพื่อทำสิ่งที่จะเพิ่ม
ด้วยhttp://www.lfd.uci.edu/~gohlke/pythonlibsคุณสามารถดาวน์โหลดไบนารี Windows จำนวนมากของแพ็คเกจส่วนขยายโอเพ่นซอร์สทางวิทยาศาสตร์จำนวนมากสำหรับการเผยแพร่ CPython อย่างเป็นทางการของภาษาโปรแกรม Python
กลับไปที่หัวข้อเราสามารถเลือกMySQL-python (py2)หรือMysqlclient (py3) และใช้pip install เพื่อติดตั้ง มันทำให้เราสะดวกสบายมาก!
สำหรับ Python3 ฉันต้องทำสิ่งนี้:
python3 -m pip install MySQL
pip install mysql-connector-python
ตามที่ระบุไว้ในเอกสาร:
https://dev.mysql.com/doc/connector-python/en/connector-python-installation-binary.html
บน RHEL 7:
sudo yum install yum-utils mariadb-devel python-pip python-devel gcc
sudo /bin/pip2 install MySQL-python
หากคุณติดตั้ง Windows ไว้ในระบบของคุณให้พิมพ์คำสั่งต่อไปนี้บน cmd:
pip install mysql-connector
หากคำสั่งดังกล่าวไม่ทำงานให้ลองใช้:
pip install mysql-connector-python
ทีนี้ถ้าคำสั่งข้างต้นไม่ทำงานให้ลองใช้:
pip install mysql-connector-python-rf
แค่นี้แหละที่คุณจะไปได้
คำตอบที่ได้รับจำนวนมากที่นี่ค่อนข้างสับสนดังนั้นฉันจะพยายามทำให้ง่ายขึ้น มันช่วยให้ฉันติดตั้งสิ่งนี้ได้
pip install pymysql
จากนั้นใช้คำสั่งต่อไปนี้ในไฟล์ python
import pymysql as MySQLdb
วิธีนี้คุณสามารถใช้ MySQLdb โดยไม่มีปัญหาใด ๆ
หาก pip3 ไม่ทำงานคุณสามารถลอง:
sudo apt install python3-mysqldb
สภาพแวดล้อมของฉันคือ:
pip ติดตั้ง mysqlclient-1.3.13-cp37-cp37m-win_amd64.whl
ทำงานได้สำหรับฉัน
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()
ที่จริงแล้วทำตามคำตอบของ @Nick T ไม่ได้ผลสำหรับฉันฉันลองapt-get install python-mysqldb
ทำเพื่อฉัน
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
>>>