अजगर 3 आयात: कोई भी मॉड्यूल जिसका नाम 'विन्यासकर्ता' नहीं है


323

मैं कोशिश कर रहा हूँ पैकेज है, लेकिन मैं एक मिल ।pip installMySQL-pythonImportError

Jans-MacBook-Pro:~ jan$ /Library/Frameworks/Python.framework/Versions/3.3/bin/pip-3.3 install MySQL-python
Downloading/unpacking MySQL-python
  Running setup.py egg_info for package MySQL-python
    Traceback (most recent call last):
      File "<string>", line 16, in <module>
      File "/var/folders/lf/myf7bjr57_jg7_5c4014bh640000gn/T/pip-build/MySQL-python/setup.py", line 14, in <module>
        from setup_posix import get_config
      File "./setup_posix.py", line 2, in <module>
        from ConfigParser import SafeConfigParser
    ImportError: No module named 'ConfigParser'
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):

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

  File "/var/folders/lf/myf7bjr57_jg7_5c4014bh640000gn/T/pip-build/MySQL-python/setup.py", line 14, in <module>

    from setup_posix import get_config

  File "./setup_posix.py", line 2, in <module>

    from ConfigParser import SafeConfigParser

ImportError: No module named 'ConfigParser'

----------------------------------------
Command python setup.py egg_info failed with error code 1 in /var/folders/lf/myf7bjr57_jg7_5c4014bh640000gn/T/pip-build/MySQL-python
Storing complete log in /Users/jan/.pip/pip.log
Jans-MacBook-Pro:~ jan$ 

कोई विचार?


क्या echo $PATHकहता है
इंस्पेक्टरगैजेट

20
2017 में कैसे आया मुझे python3 के साथ एक ही त्रुटि मिलती है?
क्लॉडिउ क्रेगना

जवाबों:


360

पायथन 3 में, पीईपी 8 अनुपालन के लिए ConfigParserनाम बदल दिया गया है configparser। ऐसा लगता है कि आप जो पैकेज स्थापित कर रहे हैं वह पायथन 3 का समर्थन नहीं करता है।


77
सही बात। MySQL-python वर्तमान में Python 3 का समर्थन नहीं करता है
माइकल Mior

3
मेरे विकल्प क्या हैं? मैंने PyMySQL3-0.5 की कोशिश की, लेकिन इसकी बहुत छोटी गाड़ी है, यह पहली बार कॉल करने पर दुर्घटनाग्रस्त हो जाती है।
अगर __name__

15
@JanBirsa एक त्वरित Google खोज में कुछ संभावनाएं मिलीं : यदि PyMySQL काम नहीं करता है, तो OurSQL , MySQL कनेक्टर / पायथन , MySQL-Python का एक बंदरगाह , और अन्य हैं।
अबे करप्लस

12
इस पर एक चलती लक्ष्य लेकिन मैं pip3 स्थापित mysql- कनेक्टर का उपयोग करता हूं। अब python3 सपोर्ट के लिए MySQL से उपलब्ध है। टाइपिंग के समय रिलीज 2.1.3 है।
लोंगमंग

4
बस कोशिश की sudo python3 -m pip install mysql-connectorऔर अब यह काम कर रहा है। संकेत के लिए धन्यवाद @Longmang
मार्को

407

इसके बजाय आप mysqlclientMySQL-python के बदले ड्रॉप-इन प्रतिस्थापन के रूप में पैकेज का उपयोग कर सकते हैं । यह MySQL-pythonपायथन 3 के लिए अतिरिक्त समर्थन का एक कांटा है ।

मुझे बस किस्मत से साथ मिला था

pip install mysqlclient

मेरे python3.4 virtualenv के बाद

sudo apt-get install python3-dev libmysqlclient-dev

जो स्पष्ट रूप से ubuntu / debian के लिए विशिष्ट है, लेकिन मैं सिर्फ अपनी सफलता साझा करना चाहता था :)


2
CentOS पर, mysqlclient इंस्टॉल करने से पहले "yum install python-devel mysql-devel" चलाएं।
जो चेंग

3
ध्यान दें कि यह एक GPL पैकेज है, इसलिए यदि आप इस मॉड्यूल का उपयोग करते हैं, तो आपको अपना कार्यक्रम GPL के साथ भी जारी करना होगा।
bogdan.mustiata

पर डेबियन इसे स्थापित करने के लिए पर्याप्त है libpython3.5-minimalपैकेज ( sudo apt-get install libpython3.5-minimal)।
patryk.beza

2
OSX पर आपको mysqlclient को स्थापित करने से पहले "brew install mysql" चलाना चाहिए।
भूतहीव २ ghost

मैंने pip3 को mysqlclient इंस्टॉल किया और यह एक आकर्षण की तरह काम किया! धन्यवाद!
बयाना

16

यहाँ एक कोड है जो Python 2.x और 3.x दोनों में काम करना चाहिए

जाहिर है कि आपको sixमॉड्यूल की आवश्यकता होगी , लेकिन उन मॉड्यूल को लिखना लगभग असंभव है जो दोनों संस्करणों में छह के बिना काम करते हैं।

try:
    import configparser
except:
    from six.moves import configparser

5
क्यों कोशिश ब्लॉक और सिर्फ उपयोग को छोड़ नहींfrom six.moves import configparser
मथायस कुहन

5
-1। का पूरा बिंदु नामांकित मॉड्यूल के लिए "एक सुसंगत इंटरफ़ेस प्रदानsix.moves करना " है ; एक साथ रैपिंग आयात try/ exceptका उपयोग करते समय sixबिंदु हार। बस उपयोग करें from six.moves import configparser। ऐसा नहीं है कि यहां छह की जरूरत है; आप बदल सकते from six.moves import configparserके साथ import ConfigParser as configparserअपने में exceptब्लॉक और जरूरत के बिना एक ही परिणाम प्राप्त six
मार्क अमेरी

@MatthiasKuhn मुझे लगता है कि इरादा sixकेवल पायथन 2. एक्स के लिए एक आवश्यकता बनाने का था , लेकिन पायथन 3. एक्स नहीं।
मार्टिन थोमा

@MartinThoma यह पूरे बिंदु को हरा देता है (जैसा कि मार्क अमेरी ने लिखा है)। यदि जांच / जांच को छोड़कर कोई अन्य कारण नहीं है तो उपयोग करने का कोई और कारण नहीं है और six.movesमूल नाम का उपयोग सीधे पायथन 2 के लिए भी किया जा सकता है।
मथायस कुह्न

13
pip install configparser
sudo cp /usr/lib/python3.6/configparser.py /usr/lib/python3.6/ConfigParser.py

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


12

MySQL-python python3 पर समर्थित नहीं है, इसके बजाय आप mysqlclient का उपयोग कर सकते हैं

यदि आप fedora/centos/Red Hatनिम्नलिखित पैकेज स्थापित कर रहे हैं

  1. yum install python3-devel
  2. pip install mysqlclient

1
एन्वायर्नमेंयरर्रर ("% s नहीं मिला"% (mysql_config.path,)) OSError: mysql_config नहीं मिला
PirateApp

1
@PirateApp संभवतः mysql स्थापित नहीं है। यहाँ की जाँच stackoverflow.com/questions/7475223/...
कौशल

sudo yum install python3-devel भरी हुई प्लगइन्स: सबसे तेज़ लोड हो रहा है मिरर स्पीड कैश्ड होस्टफ़ाइल * बेस से: मिरर .web-ster.com * epel: mirror.cat.pdx.edu * एक्सट्रा - मिरर.web-ster.com * ius: मिरर .kernel.org * अपडेट: mirror.web-ster.com कोई पैकेज python3-devel उपलब्ध नहीं है। त्रुटि: कुछ नहीं करने के लिए
viru

7

यदि आप CentOS का उपयोग कर रहे हैं, तो आपको उपयोग करने की आवश्यकता है

  1. yum install python34-devel.x86_64
  2. yum groupinstall -y 'development tools'
  3. pip3 install mysql-connector
  4. pip install mysqlclient

6

लाइब्रेरी के लिए configparserकेवल 2/3 पायथन की संगतता को हल किया जा सकता हैsix

from six.moves import configparser

6

करो pip3 install PyMySQLऔर फिर करो pip3 install mysqlclient। मेरे लिए काम किया


5

मुझे भी यही समस्या आ रही थी। पता चला, मुझे अपने सेंटो पर python3 devel स्थापित करने की आवश्यकता थी। सबसे पहले, आपको उस पैकेज की खोज करनी होगी जो आपके सिस्टम के अनुकूल हो।

yum search python3 | grep devel

फिर, पैकेज को इस रूप में स्थापित करें:

yum install -y python3-devel.x86_64

फिर, पाइप से mysqlclient स्थापित करें

pip install mysqlclient

3

मुझे वेलेर्स के उत्तर के साथ आगे मिला:

pip installser config sudser cp /usr/lib/python3.6/configparser.py/usr/lib/python3.6/ConfigParser.py फिर MYSQL-python को फिर से इंस्टॉल करने का प्रयास करें। कि मेरे लिए काम किया

मैं फ़ाइल को कॉपी करने के बजाय लिंक करने का सुझाव दूंगा। इसे अपडेट करने के लिए सेव है। मैंने फ़ाइल को /usr/lib/python3/डायरेक्टरी से जोड़ा ।


2

इस समाधान की कोशिश करो जो मेरे लिए ठीक काम किया।

मूल रूप से यह mysql के नवीनतम संस्करण को काढ़ा से फिर से स्थापित करने / अपग्रेड करने , और फिर स्थापित करने mysqlclientया इसके बजाय MySQL-Pythonसे global pip3करने के लिए हैvirtualenv pip3

फिर एक्सेस करना virtualenvऔर सफलतापूर्वक इंस्टॉल करना mysqlclientया MySQL-Python


1

कैसे पायथन के संस्करण की जाँच के बारे में आप पहले उपयोग कर रहे हैं।

import six
if six.PY2:
    import ConfigParser as configparser
else:
    import configparser

1
यह बहुत सरल होगाfrom six.moves import configparser
अकिफ

1

मैं कलि लाइन चलाता हूं- रोलिंग और मैं इस समस्या के साथ आया, जब मैंने टर्मिनल में cupp.py चलाने की कोशिश की, अजगर 3.6.0 को अपडेट करने के बाद। कुछ शोध और परीक्षण के बाद मैंने पाया कि मेरे ConfigParserलिए configparserकाम करना बदल गया लेकिन फिर मैं एक और मुद्दे पर आया।

config = configparser.configparser() AttributeError: module 'configparser' has no attribute 'configparser'

थोड़ा और शोध के बाद मुझे महसूस हुआ कि अजगर के लिए 3 ConfigParserको बदल दिया गया है configparserलेकिन ध्यान दें कि इसकी एक विशेषता है ConfigParser()


1

मुझे मैक ओएस 10, पायथन 3.7.6 और Django 2.2.7 पर एक ही त्रुटि मिल रही थी। मैं इस अवसर का उपयोग कई समाधानों को आजमाने के बाद मेरे लिए काम करने के लिए करना चाहता हूं।

कदम

  1. लिंक से मैक ओएस के लिए स्थापित कनेक्टर / पायथन 8.0.20

  2. आवश्यकताओं में वर्तमान निर्भरता को कॉपी करें। फ़ाइल में, वर्तमान वर्चुअल एनवी को समर्पित करें, और इसका उपयोग करके हटा दिया गया;

    यदि पहले से नहीं बना है तो फ़ाइल बनाएँ; touch requirements.txt

    फ़ाइल के लिए प्रतिलिपि निर्भरता; python -m pip3 freeze > requirements.txt

    वर्तमान आभासी env को निष्क्रिय करें और हटाएं; deactivate && rm -rf <virtual-env-name>

  3. एक और आभासी एनवी बनाया और इसका उपयोग करके सक्रिय किया; python -m venv <virtual-env-name> && source <virtual-env-name>/bin/activate

  4. पिछली निर्भरता का उपयोग करके स्थापित करें; python -m pip3 install -r requirements.txt


-2

कृपया यह देखने के लिए कि क्या /usr/bin/pythonइशारा कर रहा है

अगर यह python3 or higher बदलने के लिए इशारा कर रहा हैpython2.7

इस मुद्दे को हल करना चाहिए।

मुझे सभी अजगर संकुल के लिए संस्थापन त्रुटि मिल रही थी। अबे करप्लस के समाधान और चर्चा ने मुझे संकेत दिया कि समस्या क्या हो सकती है। तब मैं ने कहा कि मैं मैन्युअल रूप से बदल गया था /usr/bin/pythonसे python2.7करने के लिए /usr/bin/python3.5, जो वास्तव में समस्या पैदा कर रहा था। एक बार मैं revertedभी वही। यह हल हो गया।


4
पाइथन 2 का समर्थन करने के लिए वापस MySQL-pythonलेना ओवरकिल है; इसके बजाय लाइब्रेरी के पायथन 3 संस्करण का उपयोग करें।
मार्क अमेरी

-3

इसने मेरे लिए काम किया

cp /usr/local/lib/python3.5/configparser.py /usr/local/lib/python3.5/ConfigParser.py

1
ऐसा नहीं करना चाहिए। अबे करप्लस से जवाब देखिए। Configtharser को Python3 में configparser में बदल दिया गया है।
बॉब योप्लेट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.