पाइप स्थापित करें Mysql-python एन्वायरनमेंट के साथ विफल रहता है। आश्रम: mysql_config नहीं मिला


823

यह मुझे मिलने वाली त्रुटि है

(mysite)zjm1126@zjm1126-G41MT-S2:~/zjm_test/mysite$ pip install mysql-python
Downloading/unpacking mysql-python
  Downloading MySQL-python-1.2.3.tar.gz (70Kb): 70Kb downloaded
  Running setup.py egg_info for package mysql-python
    sh: mysql_config: not found
    Traceback (most recent call last):
      File "<string>", line 14, in <module>
      File "/home/zjm1126/zjm_test/mysite/build/mysql-python/setup.py", line 15, in <module>
        metadata, options = get_config()
      File "setup_posix.py", line 43, in get_config
        libs = mysql_config("libs_r")
      File "setup_posix.py", line 24, in mysql_config
        raise EnvironmentError("%s not found" % (mysql_config.path,))
    EnvironmentError: mysql_config not found
    Complete output from command python setup.py egg_info:
    sh: mysql_config: not found

Traceback (most recent call last):

  File "<string>", line 14, in <module>

  File "/home/zjm1126/zjm_test/mysite/build/mysql-python/setup.py", line 15, in <module>

    metadata, options = get_config()

  File "setup_posix.py", line 43, in get_config

    libs = mysql_config("libs_r")

  File "setup_posix.py", line 24, in mysql_config

    raise EnvironmentError("%s not found" % (mysql_config.path,))

EnvironmentError: mysql_config not found

----------------------------------------
Command python setup.py egg_info failed with error code 1
Storing complete log in /home/zjm1126/.pip/pip.log
(mysite)zjm1126@zjm1126-G41MT-S2:~/zjm_test/mysite$ pip install mysql-python
Downloading/unpacking mysql-python
  Running setup.py egg_info for package mysql-python
    sh: mysql_config: not found
    Traceback (most recent call last):
      File "<string>", line 14, in <module>
      File "/home/zjm1126/zjm_test/mysite/build/mysql-python/setup.py", line 15, in <module>
        metadata, options = get_config()
      File "setup_posix.py", line 43, in get_config
        libs = mysql_config("libs_r")
      File "setup_posix.py", line 24, in mysql_config
        raise EnvironmentError("%s not found" % (mysql_config.path,))
    EnvironmentError: mysql_config not found
    Complete output from command python setup.py egg_info:
    sh: mysql_config: not found

Traceback (most recent call last):

  File "<string>", line 14, in <module>

  File "/home/zjm1126/zjm_test/mysite/build/mysql-python/setup.py", line 15, in <module>

    metadata, options = get_config()

  File "setup_posix.py", line 43, in get_config

    libs = mysql_config("libs_r")

  File "setup_posix.py", line 24, in mysql_config

    raise EnvironmentError("%s not found" % (mysql_config.path,))

EnvironmentError: mysql_config not found

----------------------------------------
Command python setup.py egg_info failed with error code 1
Storing complete log in /home/zjm1126/.pip/pip.log

इसके समाधान के लिए क्या किया जा सकता है?


1
इस थ्रेड को देखें: [mysql_config mysqldb python interface इंस्टॉल करते समय नहीं मिला] [1] मेरे लिए काम किया :) [१]: stackoverflow.com/questions/7475223/…
Stacatoato

मैं मैक ओएस उपयोगकर्ता हूं, मैं इस मुद्दे को हल करता हूं यह सवाल stackoverflow.com/questions/50940302/…
PatricioS

जवाबों:


1397

ऐसा लगता है कि mysql_config आपके सिस्टम पर गायब है या इंस्टॉलर इसे नहीं खोज सका। सुनिश्चित करें कि mysql_config वास्तव में स्थापित है।

उदाहरण के लिए डेबियन / उबंटू पर आपको पैकेज स्थापित करना होगा:

sudo apt-get install libmysqlclient-dev

हो सकता है कि mysql_config आपके रास्ते में न हो, ऐसा तब होगा जब आप खुद mysql सुइट संकलित करेंगे।

अद्यतन: डेबियन / ubuntu के हाल के संस्करणों के लिए (2018 के अनुसार) यह है

sudo apt install default-libmysqlclient-dev

24
यह अभी भी मेरे लिए एक त्रुटि है। मैं apt-get install python-mysqldbइसके बजाय इस्तेमाल किया।
जोनाथन लिट्के

51
मेरा 2 सी अनुभव: sudo apt-get install libmysqlclient-devमेरे लिए काम किया, sudo apt-get install python-mysqldbमदद नहीं की
एंथ्रोपिक जूल

20
@JonatanLittke virtualenv IMO के बिंदु के खिलाफ एक वैश्विक अजगर-mysqldb तरह की स्थापना।
fncomp

42
मरियादब के लिए, sudo apt-get install libmariadbclient-devचाल चली ।
युविलियो

11
यदि ये समाधान आपके लिए काम नहीं करते हैं, तो आपको अभी भी अजगर-देव को स्थापित करने की आवश्यकता हो सकती है:apt-get install python-dev
Anoyz

295

मैक ओएस में, मैंने इसे ठीक करने के लिए टर्मिनल में बस चलाया:

export PATH=$PATH:/usr/local/mysql/bin

यह मेरे द्वारा पाया गया सबसे तेज़ फ़िक्स है - यह इसे पथ में जोड़ता है, लेकिन मुझे लगता है कि आप इसे स्थायी रूप से जोड़ने से बेहतर हैं (यानी इसे जोड़ें /etc/paths) यदि आप किसी अन्य वातावरण में MySQL-python स्थापित करने की योजना बनाते हैं।

(OSX माउंटेन शेर में परीक्षण किया गया)


6
यदि आप बिटमनी के एमएमपी स्टैक का उपयोग export PATH=$PATH:/Applications/mampstack-5.3.17-0/mysql/binकर रहे हैं, यदि आप इस वाणिज्यिक एमएमपी स्टैक का उपयोग कर रहे हैं , तो दूसरी ओर, इसे अनइंस्टॉल करें और बिटनामी को प्राप्त करें क्योंकि यह गंदगी है और इसमें माईस्क्ल हेडर शामिल नहीं है।
टिम्मम्म

3
पथ को स्थायी बनाने के लिए इसे नीचे से जोड़ दें /etc/paths- नए पथ तक पहुंचने के लिए आपको एक नई टर्मिनल विंडो खोलने की आवश्यकता होगी।
रोजा

@Timmmm काफी महंगा समाधान है क्योंकि मेरे सभी डेटाबेस आधिकारिक संस्करण पर हैं: / क्या इसका हल निकालने का कोई अन्य तरीका है?
20

1
बहुत मददगार। यदि आप XAMPP का उपयोग कर रहे हैं, तो इसका उपयोग करेंexport PATH=$PATH:/Applications/XAMPP/xamppfiles/bin
केविन लंदन

10
यह अंत में धन्यवाद काम करता है! यह भी mysqlस्थापित न होने पर, brew install mysqlस्थान जहाँ है /usr/local/bin/mysql(या /usr/local/Cellar/mysql/VERSION/bin/यदि यह सहानुभूति नहीं है) का उपयोग करें।
अज़ीज़ ऑल्टो

102
apt-get install libmysqlclient-dev python-dev

चालबाजी करने लगा।


2
हाँ, मेरे लिए केवल libmysqlclient-dev ही पर्याप्त नहीं था, अजगर-देव भी गायब था।
एंडरसन सैंटोस

उबंटू 12.04 (सटीक) (32-बिट) पर 10.04 (ल्यूसिड) से अपग्रेड के बाद केवल इन त्रुटियों को हल किया। विशेष रूप से अतिरिक्त "अजगर-देव"!
बर्फ

मेरे लिए भी काम किया - अजगर-देव पहेली का आखिरी टुकड़ा था। पहले से ही अजगर-माइस्क्लेब स्थापित था, इसलिए यह निश्चित रूप से जरूरी नहीं है।
टिम एस।

अपडेट करें: python3 के लिए आप स्थापित करने के लिए है python3-dev
cezar

मुझे ऐसा करने की आवश्यकता है और gccएक सफल इंस्टॉल प्राप्त करने के लिए भी इंस्टॉल करें। इसके अलावा, यह शायद सबसे अच्छा है ऐसा नहीं करने के लिए python-devइस तरह के रूप है, लेकिन निर्दिष्ट विशेष संस्करण python2.7-dev, python3.6-devआदि
टिम Tisdall

89

उपरोक्त मुद्दे के लिए शायद विभिन्न उत्तर हैं, नीचे एक समग्र समाधान है।

उबंटू के लिए:

$ sudo apt update
$ sudo apt install python-dev
$ sudo apt install python-MySQLdb

CentOS के लिए:

$ yum install python-devel mysql-devel

सेंटो टिप के लिए धन्यवाद। मैं यह सब सुबह का पीछा कर रहा हूँ।
पीट मैग्सेग

शायद जोड़ने लायक python3-dev/python3-devel
Gergely M

36

यदि आप मैक पर हैं तो इसे विश्व स्तर पर स्थापित करें

brew install mysql

फिर इस तरह निर्यात पथ

export PATH=$PATH:/usr/local/mysql/bin

वैश्विक स्तर पर या आपके वेनव में जो आपको पसंद है

pip install MySQL-Python

नोट: मैक के लिए python3 के लिए विश्व स्तर पर python2 और 3 दोनों हो सकते हैं

pip3 install MySQL-Python

34

आप MySQL कनेक्टर / पायथन का उपयोग कर सकते हैं

PyPip के माध्यम से स्थापना

pip install mysql-connector-python

अधिक जानकारी MySQL कनेक्टर / पायथन 1.0.5 बीटा घोषणा ब्लॉग पर पाई जा सकती है ।

लॉन्चपैड पर डेटा को जोड़ने, संपादित करने या निकालने का एक अच्छा उदाहरण है लाइब्रेरी के साथ ।


3
यह केवल एक चीज है जो मेरे लिए काम करती है जब मैंने mysqldb और लापता mysql_config मेस को छोड़ दिया। मेरे उद्देश्यों के लिए अच्छा काम करता है।
व्हिटनी

@wjoba क्या आप आगे बता सकते हैं? मैं py-mysql2pgsqlmysql_config की त्रुटि को स्थापित कर रहा हूं और ढूंढ रहा हूं । मैं MAMP का उपयोग कर रहा हूं। Mysqk कनेक्टर क्या करता है?
वोलातिल 3

1
@ Volatil3 mysql-कनेक्टर-पायथन ने मेरे लिए mysql-python के लिए एक आउट-ऑफ-द-बॉक्स प्रतिस्थापन के रूप में अच्छी तरह से काम किया। पूर्व को पाइप के माध्यम से स्थापित करने से कोई समस्या नहीं हुई और mysql_config त्रुटि से छुटकारा मिला क्योंकि (देव के अपने शब्दों में) mysql कनेक्टर "शुद्ध पायथन है और इसे किसी अन्य MySQL सॉफ़्टवेयर की आवश्यकता नहीं है, इस प्रकार कोई लाइब्रेरी और संकलन नहीं है।" उम्मीद है की वो मदद करदे। इस समाधान में उल्लिखित स्थापना का प्रयास करें और देखें कि क्या आप अभी भी त्रुटि का सामना कर रहे हैं।
211 बजे

उबंटू 14/4 पर, मुझे मिलता है: कोई भी डाउनलोड नहीं मिला जो आवश्यकता को संतुष्ट करता हो mysql-कनेक्टर-अजगर
टिमो

इस कमांड ने मेरे लिए और सब कुछ आज़माने के बाद काम किया।
घड़ियाँ

27

के लिए centos उपयोगकर्ताओं:

yum install -y mysql-devel python-devel python-setuptools

फिर

pip install MySQL-python


यदि यह समाधान काम नहीं करता है , और जैसे जीसीसी संकलन त्रुटि प्रिंट करें:
_mysql.c:29:20: error: Python.h: No such file or directory

आपको Python.hइस तरह का पथ निर्दिष्ट करने की आवश्यकता है :
pip install --global-option=build_ext --global-option="-I/usr/include/python2.6" MySQL-python


1
ऐसा लगता है जैसे कि आपके पास अधिकार नहीं है, पायथन बाइनरी के लिए फ़ाइलें शामिल हैं pip। पायथन ही सामान्य रूप से शामिल स्थान प्रदान करता है; मैन्युअल रूप से पथ निर्दिष्ट करने की संभावना सबसे गलत संस्करण की ओर इशारा करती है
मार्टिन पीटर्स

मुझे sudo pip install MySQL-pythonएक त्रुटि के कारण करना पड़ा :copying build/lib.linux-x86_64-2.7/_mysql_exceptions.py -> /usr/lib64/python2.7/site-packages error: /usr/lib64/python2.7/site-packages/_mysql_exceptions.py: Permission denied
bennythejudge

18

मैं mysql-pythonअमेज़ॅन EC2 लिनक्स उदाहरण पर स्थापित करने की कोशिश कर रहा था और मुझे इन्हें स्थापित करना था:

yum install mysql mysql-devel mysql-common mysql-libs gcc

लेकिन तब मुझे यह त्रुटि मिली:

_mysql.c:29:20: fatal error: Python.h: No such file or directory

इसलिए मैंने स्थापित किया:

yum install python-devel

और उसने चाल चली।


1
मैंने इस्तेमाल किया: sudo yum install mysql mysql-devel mysql-common mysql-libs gcc मेरे virtualenv के बाहर। फिर, मैं अपने वर्चुअल एनवी पर लौटा और भाग गया pip install mysql-pythonऔर यह काम किया।
टंडी

1
dnf install mysql-devel gccमेरे लिए पर्याप्त था, यह बाकी पर निर्भर करता है
जेन्स टिमरमैन

python-develअब त्रुटि दे देंगे, अगर अजगर 2.7 का उपयोग करते हुए यह प्रयास करेंpython27-devel
सिज़लिंग कोड

8

MySQL के बजाय MariaDB का उपयोग करने वाले किसी के लिए, समाधान स्थापित करना है libmariadbclient-dev पैकेज और सही नाम के साथ कॉन्फ़िगर फ़ाइल के लिए एक प्रतीकात्मक लिंक बनाने के लिए है।

उदाहरण के लिए यह मेरे लिए काम किया:

ln -s /usr/bin/mariadb_config /usr/bin/mysql_config

2
यह किसी भी मामले में उपयोगी एक अल्पविकसित उत्तर है जहाँ कोई विशिष्ट, ज्ञात डेटाबेस सॉकेट से जुड़ना चाहता है। इसने मुझे एक स्टैंडअलोन mysql डेटाबेस से जुड़ने में मदद की। यहाँ ज्यादातर समाधान सिर्फ पुनः स्थापित करने (या दूसरे या तीसरे ... आदि) को स्थापित करने की सलाह देते हैं।
7yl4r


6

ओएस एक्स मावेरिक्स

ओएक्सएक्स मावेरिक्स और एक्सकोड विकास टूल के परिवर्तनों के कारण आपको स्थापना पर त्रुटि हो सकती है

clang: error: unknown argument: '-mno-fused-madd' [-Wunused-command-line-argument-hard-error-in-future]

इसलिए उपयोग करें:

sudo ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future pip install mysql-python



4

आपको mysqlपहले स्थापित करना चाहिए :

yum install python-devel mysql-community-devel -y

तो आप स्थापित कर सकते हैं mysqlclient:

pip install  mysqlclient

2

कभी-कभी त्रुटि वास्तविक कारण पर निर्भर करती है। हमारे पास एक ऐसा मामला था जहां मिथक-पायथन को अजगर-मायस्कल्डब डेबियन पैकेज के माध्यम से स्थापित किया गया था।

एक डेवलपर जो यह नहीं जानता था, गलती से चला गया pip uninstall mysql-pythonऔर फिर pip install mysql-pythonउपरोक्त त्रुटि देने के साथ पुनर्प्राप्त करने में विफल रहा ।

pip uninstall mysql-python डेबियन पैकेज सामग्री को नष्ट कर दिया था, और निश्चित रूप से pip install mysql-python विफल हो गया क्योंकि डेबियन पैकेज को किसी भी देव फ़ाइलों की आवश्यकता नहीं थी।

उस मामले में सही समाधान apt-get install --reinstall python-mysqldbजो mysql-python को उसकी मूल स्थिति में बहाल किया गया था ।


2

टेराफॉर्म में मुझे यही समस्या थी: लाइट कंटेनर। यह अल्पाइन पर आधारित है।

वहाँ आपको mariadb-dev स्थापित करना होगा:

apk add mariadb-dev

लेकिन यह एक पर्याप्त नहीं है क्योंकि अन्य सभी निर्भरताएं भी याद आती हैं:

apk add python2 py2-pip gcc python2-dev musl-dev

2

अनुगामी होना।

pip install mysqlclient
sudo apt-get install python3-dev libmysqlclient-dev
pip install configparser 
sudo cp /usr/lib/python3.6/configparser.py /usr/lib/python3.6/ConfigParser.py 

फिर MYSQL-python को फिर से स्थापित करने का प्रयास करें। कि मेरे लिए काम किया


1

ओएस एक्स सर्वर 10.6.8 पर स्थापित करने के लिए इसी तरह की समस्या थी। यहाँ मुझे क्या करना है। का उपयोग करते हुए:

MySQL-python 1.2.4b4 (स्रोत) MySQL-5.6.19 (बाइनरी इंस्टॉलर) पायथन 2.7 (बाइनरी इंस्टॉलर) NOTE: virtualenv में इंस्टॉल हो रहा है ...

अनज़िप सोर्स, 'डिस्ट्रीब्यूशन_सेटअप एरीडॉक' खोलें और डिस्ट्रीब्यूट टूल के नवीनतम संस्करण का उपयोग करने के लिए DEFAULT_VERSION संपादित करें, जैसे:

DEFAULT_VERSION = "0.6.49"

सहेजें। 'Site.cfg' फ़ाइल खोलें और mysql_config के लिए पथ को अनसुना करें ताकि यह कुछ ऐसा दिखाई दे (mysql_config के लिए अपना स्वयं का पथ देखें):

# The path to mysql_config.
# Only use this if mysql_config is not on your PATH, or you have some weird
# setup that requires it.
mysql_config = /usr/local/mysql/bin/mysql_config

अब 'mysql_config' त्रुटि नहीं मिली, साथ साफ, निर्माण और बनाना विफल होगा। आशा है कि यह किसी और को उनके पुराने xserves का उपयोग करने की कोशिश करने में मदद करता है :-)


1

आपका सुडोल पथ आपके स्थानीय पथ के बारे में नहीं जानता है ... सुपरसुअर मोड में जाएं, पथ जोड़ें, और इसे वहां से इंस्टॉल करें।

sudo su
export PATH=$PATH:/usr/local/mysql/bin/
pip install mysql-python
exit

और आप OSX पर ऊपर और चल रहे हैं। अब आपके पास एक अद्यतन वैश्विक अजगर है।


1

यदि आप अपने वर्चुअल एनवी में MySQL-python स्थापित करते हैं, तो आपको पाइप संस्करण की जांच करनी चाहिए, यदि संस्करण 9.0.1 से अधिक पुराना है, तो कृपया इसे अपडेट करें

pip install --upgrade pip

देखें stackoverflow.com/questions/7475223/… मुझे नहीं लगता कि आपका जवाब मदद करेगा
Linus

0

MacOS Mojave पर, mysql_config ऊपर बताए अनुसार / usr / स्थानीय / बिन / के बजाय / usr / स्थानीय / mysql / bin में पाया जाता है, इसलिए पथ में कुछ भी जोड़ने की आवश्यकता नहीं है।

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