पायथन 3 का उपयोग करने वालों के लिए अपडेट:
आप बस MySQLdb का उपयोग conda install mysqlclient
करने के लिए आवश्यक पुस्तकालयों को स्थापित करने के लिए उपयोग कर सकते हैं क्योंकि यह वर्तमान में मौजूद है। निम्नलिखित एसओ प्रश्न एक सहायक सुराग था: पायथन 3 इम्पोर्ट्योर: 'कॉन्फिगरेशन' नाम का कोई मॉड्यूल नहीं । Mysqlclient इंस्टॉल करने से mysqlclient, mysql-कनेक्टर और llvmdev इंस्टॉल हो जाएंगे (कम से कम, इसने इन 3 लाइब्रेरी को मेरी मशीन पर इंस्टॉल कर दिया)।
यहाँ इस समस्या के साथ मेरे जुआ अनुभव की कहानी है। यदि आपको समस्या का बेहतर अनुभव है तो इसे संपादित या सामान्यीकृत देखना अच्छा लगेगा ... उस SO मैजिक का थोड़ा सा उपयोग करें।
नोट: अगले पैराग्राफ में टिप्पणियां स्नो लेपर्ड पर लागू होती हैं, लेकिन लायन के लिए नहीं, जिसे 64-बिट MySQL की आवश्यकता प्रतीत होती है
सबसे पहले, MySQLdb के लेखक (अभी भी!) का कहना है कि सबसे भयानक समस्याओं में से एक यह है कि OS X पायथन के 32 बिट संस्करण के साथ स्थापित होता है, लेकिन अधिकांश औसत joes (स्वयं शामिल) संभवतः 64 बिट संस्करण को स्थापित करने के लिए कूदते हैं MySQL का। ख़राब चाल ... 64 बिट संस्करण को हटा दें यदि आपने इसे स्थापित किया है (इस फिडली कार्य पर निर्देश यहाँ SO पर उपलब्ध हैं ), तो 32 बिट संस्करण ( यहाँ पैकेज ) डाउनलोड और स्थापित करें
MySQLdb पुस्तकालयों को बनाने और स्थापित करने के तरीके पर कई चरण-दर-चरण चरण हैं। उनके बीच अक्सर सूक्ष्म अंतर होता है। यह मेरे लिए सबसे लोकप्रिय लग रहा था, और काम करने वाला समाधान प्रदान किया। मैंने नीचे कुछ संपादन के साथ इसे पुन: प्रस्तुत किया है
चरण ०:
शुरू करने से पहले, मैं मानता हूँ कि आपके पास मैक पर MySQL, पायथन और GCC स्थापित है।
चरण 1: SourceForge से पायथन एडाप्टर के लिए
नवीनतम MySQL डाउनलोड करें ।
चरण 2:
अपना डाउनलोड किया गया पैकेज निकालें:
tar xzvf MySQL-python-1.2.2.tar.gz
चरण 3:
फ़ोल्डर के अंदर, पैकेज को साफ करें:
sudo python setup.py clean
अतिरिक्त स्तनों का कूप, ( इस टिप्पणी से )
चरण 3 बी:
अपने MySQL-python-1.2.2 / build / * निर्देशिका के तहत सब कुछ निकालें - आप के लिए यह करने के लिए "अजगर setup.py साफ" पर भरोसा नहीं है
चरण 3c:
उपयोगकर्ता / $ USER / .python- अंडे के तहत अंडा निकालें
चरण 4:
मूल रूप से आवश्यक संपादन _mysql.c, लेकिन अब NO LONGER NECESSARY है। लगता है कि MySQLdb समुदाय ने अब इस बग को ठीक कर लिया है।
चरण 5:
mysql नामक उप-निर्देशिका को इंगित करने के लिए lib के तहत एक प्रतीकात्मक लिंक बनाएं। यह वह जगह है जहां यह संकलन के दौरान दिखता है।
sudo ln -s /usr/local/mysql/lib /usr/local/mysql/lib/mysql
चरण 6:
setup_posix.py संपादित करें और निम्नलिखित बदलें
mysql_config.path = "mysql_config"
सेवा
mysql_config.path = "/ usr / स्थानीय / mysql / bin / mysql_config"
चरण 7:
उसी निर्देशिका में, अपने पैकेज का पुनर्निर्माण करें (इसके साथ आने वाली चेतावनियों को अनदेखा करें)
sudo python setup.py build
चरण 8:
पैकेज स्थापित करें और आप कर रहे हैं।
sudo python setup.py install
चरण 9:
यदि यह काम कर रहा है तो परीक्षण करें। यह काम करता है अगर आप MySQLdb आयात कर सकते हैं।
python
>>> import MySQLdb
चरण 10:
यदि आप आयात करने की कोशिश कर रहे हैं, तो एक त्रुटि प्राप्त होती है, Library not loaded: libmysqlclient.18.dylib
जिसके साथ समाप्त होने की शिकायत होती है : Reason: image not found
आपको एक अतिरिक्त सिमलिंक बनाने की आवश्यकता है जो है:
sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib
फिर आपको import MySQLdb
बिना किसी त्रुटि के सक्षम होना चाहिए ।
हालांकि एक अंतिम हिचकी यह है कि यदि आप निर्माण निर्देशिका से पायथन शुरू करते हैं तो आपको यह त्रुटि मिलेगी:
/Library/Python/2.5/site-packages/MySQL_python-1.2.3c1-py2.5-macosx-10.5-i386.egg/_mysql.py.3 .3: UserWarning: मॉड्यूल _mysql पहले से ही /Library/Python/2.55 से आयात किया गया था। साइट-पैकेज / MySQL_python-1.2.3c1-py2.5-macosx-10.5-i386.egg / _mysql.pyc, लेकिन XXXX / MySQL-python-1.2cc1 को sys.path में जोड़ा जा रहा है
यह Google के लिए बहुत आसान है, लेकिन आपको इस परेशानी से बचाने के लिए आप यहाँ समाप्त हो जाएंगे (या शायद नहीं ... विशेष रूप से भविष्य-प्रूफ URL नहीं) और यह पता लगाएँ कि आपको cd ..
बिल्ड निर्देशिका से बाहर जाने की आवश्यकता है और त्रुटि गायब होनी चाहिए।
जैसा कि मैंने शीर्ष पर लिखा था, मैं इस जवाब को सामान्यीकृत देखना पसंद करूंगा, क्योंकि इस भयानक समस्या के कई अन्य विशिष्ट अनुभव हैं। दूर संपादित करें, या अपना खुद का, बेहतर जवाब प्रदान करें।