पाइप का उपयोग करके पायथन MySQLdb मॉड्यूल कैसे स्थापित करें?


310

मैं कैसे स्थापित कर सकते हैं MySQLdb पायथन पिप प्रयोग करने के लिए मॉड्यूल?


11
यदि आप Python3 के साथ इसका उपयोग करना चाहते हैं (जैसे, Django के नवीनतम संस्करण के साथ) तो आपको mysqlclient की आवश्यकता होगी, क्योंकि MysqlDB python3 का समर्थन नहीं करता है। देखें इस सवाल
टीडी स्मिथ

मैं अब तक किसी भी मुद्दे के साथ Python 2.7 और MariaDB के साथ mysqlclient का उपयोग कर रहा हूं।
डेव एवरिट

जवाबों:


522

यह करना आसान है, लेकिन सही वर्तनी याद रखना कठिन है:

pip install mysqlclient

यदि आपको 1.2.x संस्करण (केवल विरासत पायथन) की आवश्यकता है, तो उपयोग करें pip install MySQL-python

नोट: उपरोक्त आदेश को चलाते समय कुछ निर्भरताएँ हो सकती हैं। विभिन्न प्लेटफार्मों पर इन्हें स्थापित करने के कुछ संकेत:

Ubuntu 14, Ubuntu 16, Debian 8.6 (जेसी)

sudo apt-get install python-pip python-dev libmysqlclient-dev

फेडोरा 24:

sudo dnf install python python-devel mysql-devel redhat-rpm-config gcc

मैक ओ एस

brew install mysql-connector-c

यदि वह विफल रहता है, तो प्रयास करें

brew install mysql

26
आपको पूरा नाम याद रखने की ज़रूरत नहीं है, आप pip search mysqlआउटपुट में अपनी जरूरत का उपयोग कर सकते हैं ।
WKPlus

12
@KPlus: सही है ... लेकिन मैंने pip search mysqldbऐसा नहीं किया। इस प्रकार, मैं इस उत्तर को +1 करता हूं।
Dan H

7
@KPlus वास्तव में mysql की एक पाइप खोज के बाद सही विकल्प का पता लगाने के लिए एक बहुत परेशानी है
kommradHomer

9
मैं इस हर बार गूगल करने के लिए है, तो लानत infurating
sleepycal

3
@DavidOkwii जब आप वर्चुअन के अंदर नहीं होते हैं, तो sudo की आवश्यकता होती है। यह आपकी समस्या हो सकती है।
मैरियन

138

एक नए Ubuntu 14.04.2 प्रणाली से शुरू, इन दो आदेशों की आवश्यकता थी:

 apt-get install python-dev libmysqlclient-dev
 pip install MySQL-python

सिर्फ "पाइप इंस्टॉल" करने से ही काम नहीं चला।

से http://codeinthehole.com/writing/how-to-set-up-mysql-for-python-on-ubuntu/


2
यह एक काम किया, किसी कारण सरल पिप के लिए स्थापित ubuntu पर स्वच्छ काम नहीं करता है
डीएपी

Ubuntu 14.04 में, "एर एन्वाइरन्वायरमेंट ("% s नहीं मिला "% (mysql_config.path,)) को एक त्रुटि मिलेगी, और पहले cmd ने समस्या को ठीक किया, धन्यवाद, मुझे कुछ समय
बचाएं

error: command 'x86_64-linux-gnu-gcc' failed with exit status 1उपयोग को ठीक करने के लिएsudo apt-get install build-essential
फेलिकजेड

मुझे आश्चर्य है कि इसकी आवश्यकता क्यों है। एक बात मुझसे होती है। मैंने इसे केवल स्थापित करके परीक्षण किया, न कि भवन निर्माण के लिए। क्या आपने जो चीजें स्थापित की थीं, उन्हें बनाने के बजाय सिर्फ उन्हें स्थापित किया था?
रे किडी

इसे उबंटू के पाठ्यक्रम का उत्तर स्वीकार किया जाना चाहिए।
Roon13

23

प्रथम

pip install pymysql

फिर नीचे __init__.py( projectname/__init__.py) कोड डालें

import pymysql
pymysql.install_as_MySQLdb()

मेरा वातावरण है (python3.5, django1.10) और यह समाधान मेरे लिए काम करता है!

उम्मीद है की यह मदद करेगा!!


3
वाह, मैं सफलता के बिना यह तय करने की कोशिश कर रहा 5hrs से अधिक कमर है। यह एकमात्र समाधान है जो Ubuntu 16.04 / python 3.5 / Django 1.11 पर काम करता है। इसे साझा करने के लिए धन्यवाद।
पाउलो

यह मेरे लिए काम नहीं करता है, मेरा वातावरण अजगर 3.7 और django 2.2 है। कृपया मेरी मदद करें।
राजेन के भगत

यह वहाँ होना चाहिए। मैं घंटे के लिए एक समाधान के लिए ब्राउज़ कर रहा हूँ। मेरे पास एक वर्चुअन है जिसमें अजगर 2.7 रनिंग django 1.6 है। मैं MySQL-python और न ही mysqlclient स्थापित करने में सक्षम नहीं था। कोई फर्क नहीं पड़ता कि मैंने जो भी कोशिश की मुझे "घातक त्रुटि: mysql.h" मिल रही थी। इसने चाल चली।
18लैंड पर 18

22

मुझे पिप के माध्यम से विंडोज पर MySQLdb के 64-बिट संस्करण को स्थापित करने में समस्याएं थीं (समस्या संकलन के स्रोत) [32 बिट संस्करण स्थापित ठीक है]। Http://www.lfd.uci.edu/~gohlke/pythonlibs/ से उपलब्ध। Myl फ़ाइल से संकलित MySQLdb को स्थापित करने में प्रबंधित

.Whl फ़ाइल को तब पाइप के माध्यम से डॉक्यूमेंट के रूप में स्थापित किया जा सकता है 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

अनुवर्ती: यदि आपके पास पाइथन का 64 बिट संस्करण स्थापित है, तो आप ऊपर दिए गए लिंक से MySQLdb के 64-बिट AMD संस्करण को स्थापित करना चाहते हैं (भले ही आपके पास इंटेल प्रोसेसर हो]। यदि आप इसके बजाय 32-बिट संस्करण को आज़माते हैं और स्थापित करते हैं, तो मुझे लगता है कि आपको नीचे दी गई टिप्पणियों में असमर्थित पहिया त्रुटि मिलती है।


टोटल फेल। असमर्थित पहिया
एम हॉर्नबैकर

3
मुझे MySQL क्लाइंट की आवश्यकता थी। pip install mysqlclient-1.3.7-cp27-none-win_amd64.whlबढ़िया काम कर रहा है।
आर्सेनिक

2
फ़ाइल डाउनलोड करने के लिए http://www.lfd.uci.edu/~gohlke/pythonlibs/#mysql-python पर गया whl(मैं 64 बिट मेरे 64 बिट पायथन इंस्टॉल से मिलान करने के लिए dl'd)। फ़ाइल को c:/निर्देशिका में सहेजा गया और pip install c:/MySQL_python-1.2.5-cp27-none-win_amd64.whlयह सेकंड में स्थापित हो गया और जाने के लिए अच्छा था। बहुत आसान!
१isp

मेरे लिए भी काम किया, क्योंकि नाम से पाइप स्थापित करना विफल रहा था।
आर्टेम रसाकोवस्की

19

अच्छी तरह से यह मेरे लिए काम किया:

pip install mysqlclient

यह अजगर 3.x के लिए है


3
यह पहला समाधान है जो मेरे लिए अजगर 3.5 / django 1.11 के लिए काम करता है
ब्रैडेन होल्ट

1
आप एक mysql_config फ़ाइल के गुम होने से परेशान हो सकते हैं। देखें stackoverflow.com/questions/7475223/...
zwep

7

मैंने सभी विकल्प आज़माए लेकिन रेडहैट प्लेटफ़ॉर्म पर काम करने में सक्षम नहीं था। मैंने इसे काम करने के लिए निम्नलिखित किया: -

yum install MySQL-python -y

पैकेज स्थापित होने के बाद दुभाषिया में निम्नानुसार मॉड्यूल आयात करने में सक्षम था: -

>>> import MySQLdb
>>> 

सवाल विशिष्ट उल्लेख कर रहा था pip। आप किस वितरण का उपयोग कर रहे हैं? फेडोरा 24 पर, यह काम करता है स्थापित करने के लिए मॉड्यूल के माध्यम से पिप: sudo dnf install python python-devel mysql-devel redhat-rpm-config gcc,sudo pip install MySQL-python
मैरिएन

मैं समझता हूं कि प्रश्न पाइप के माध्यम से है, लेकिन मैं व्यक्तिगत रूप से पाइप का उपयोग करके इसे हल करने में सक्षम नहीं था। इसलिए मैंने सिर्फ अपना वर्कअराउंड शेयर किया जिसने मेरे लिए समस्या को ठीक कर दिया। मैं सेंटोस 6.8 का उपयोग कर रहा हूं। पाइप सूची में mysql से संबंधित कुछ भी नहीं दिखाया गया है और जब मैं "पाइप स्थापित MySQL-python" करता हूं, तो यह एक त्रुटि थी। अब दिलचस्प यह है कि मैंने सोचा कि एक बार जब हम yum i: e "yum install MySQL-python" के माध्यम से इंस्टॉल करते हैं तो मैं MySQLdb आयात करने में सक्षम हूं। एक बार यम इंस्टॉलेशन के साथ एक बार मैं बिना किसी त्रुटि के पाइप के माध्यम से स्थापित करने में सक्षम था।
अश्विन

6

Pycharm पर जाएं फिर डिफ़ॉल्ट सेटिंग पर जाएं -> पाइप (डबल क्लिक) - 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()

3

यदि आप रास्पबेरी पाई [रास्पबियन ओएस] का उपयोग कर रहे हैं

पहली बार में पाइप कमांड स्थापित करने की आवश्यकता है

apt-get install python-pip

ताकि बस Sequently स्थापित करें

apt-get install python-dev libmysqlclient-dev

apt-get install python-pip

pip install MySQL-python

रास्पबेरी को सवाल में उल्लेख नहीं किया गया है
Héctor Valverde Pareja


3

यदि आप mysqlclient स्थापित करने में असमर्थ हैं तो आप pymysql भी स्थापित कर सकते हैं :

pip install pymysql

यह MySqldb की तरह ही काम करता है । इसके बाद MySQLdb के बजाय सभी पर pymysql का उपयोग करें


इसका उत्तर होना चाहिए।
JayJay123

2

मुझे भी यही समस्या थी। अगर आप विंडोज पर हैं तो इन चरणों को पूरा करें। पर जाएँ: 1. कंप्यूटर कंप्यूटर 2. सिस्टम गुण 3. एडवांस सिस्टम सेटिंग्स 4. "उन्नत" टैब के अंतर्गत "पर्यावरण चर" कहने वाले बटन पर क्लिक करें। 5. फिर सिस्टम वेरिएबल्स के तहत आपको निम्नलिखित चर जोड़ना / बदलना होगा: PYTHOPATH और पथ। यहाँ मेरे चर जैसे दिखते हैं: अजगर पथ:

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

संदर्भ के लिए यह लिंक देखें


1

उपरोक्त उत्तर बहुत अच्छा है, लेकिन कुछ समस्याएं हो सकती हैं जब हम विंडोज में MySQL-python को स्थापित करने के लिए पाइप का उपयोग करते हैं

उदाहरण के लिए, इसे कुछ फ़ाइलों की आवश्यकता है जो विज़ुअल Stdio से जुड़ी हैं । कोई समाधान VS2008 या 2010… स्थापित कर रहा है… जाहिर है, इसकी लागत बहुत ज्यादा है।

दूसरा तरीका @ bob90937 का जवाब है। मैं यहां कुछ जोड़ने के लिए हूं।

http://www.lfd.uci.edu/~gohlke/pythonlibs के साथ , यू आप पायथन प्रोग्रामिंग भाषा के आधिकारिक CPython वितरण के लिए कई वैज्ञानिक ओपन-सोर्स एक्सटेंशन पैकेज के कई विंडोज बायनेरिज़ डाउनलोड कर सकते हैं।

विषय पर वापस, हम MySQL-python (py2) या Mysqlclient (py3) का चयन कर सकते हैं और पाइप इंस्टॉल का उपयोग कर सकते हैं करने के का । यह हमें बहुत सुविधा देता है!




1

RHEL 7 पर:

sudo yum install yum-utils mariadb-devel python-pip python-devel gcc

sudo /bin/pip2 install MySQL-python


1

यदि आपके पास अपने सिस्टम पर विंडोज स्थापित है तो cmd पर निम्न कमांड टाइप करें:

pip install mysql-connector

यदि उपरोक्त कमांड काम नहीं करता है, तो निम्न का उपयोग करें:

pip install mysql-connector-python

अब, यदि उपरोक्त आदेशों से काम पूरा नहीं होता है, तो प्रयोग करके देखें:

pip install mysql-connector-python-rf

बस, अब आपका जाना अच्छा है।


1

यहाँ दिए गए कई उत्तर काफी भ्रमित करने वाले हैं इसलिए मैं इसे सरलता से कहने की कोशिश करूँगा। इसने मुझे इसे स्थापित करने में मदद की

pip install pymysql

और फिर अजगर फ़ाइल में निम्न कमांड का उपयोग करें

import pymysql as MySQLdb

इस तरह आप बिना किसी समस्या के MySQLdb का उपयोग कर सकते हैं।


0

यदि pip3 काम नहीं कर रहा है, तो आप कोशिश कर सकते हैं:

sudo apt install python3-mysqldb

बहुत अच्छा जवाब नहीं। आप मान लेते हैं कि पायथन संस्करण 3 है और ओएस डेबियन / उबंटू है, लेकिन आप यह नहीं जानते हैं। कृपया प्रतीक्षा करें जब तक कि लेखक अधिक विवरण नहीं जोड़ता।
पीएचडी

0

मेरा वातावरण हैं:

  • विंडोज 10 प्रो,
  • अजगर 3.7 (अजगर-3.7.1-amd64.exe),
  • MySQL 8.0 (mysql-संस्थापक-वेब-समुदाय-8.0.13.0.msi)

पाइप स्थापित 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()

0

वास्तव में, @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
>>> 
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.