Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

मैक ओएस एक्स पर MySQLdb (MySQL के लिए पायथन डेटा एक्सेस लाइब्रेरी) कैसे स्थापित करें?

Python3 का उपयोग करने वालों के लिए अपडेट: आप बस उपयोग कर सकते हैं conda install mysqlclient MySQLdb का उपयोग करने के लिए आवश्यक पुस्तकालयों को स्थापित करने के लिए क्योंकि यह वर्तमान में मौजूद है। निम्नलिखित SO प्रश्न एक उपयोगी सुराग था:पायथन 3 ImportError:'ConfigParser' नाम का कोई मॉड्यूल नहीं . mysqlclient स्थापित करने से mysqlclient, mysql-connector, और llvmdev स्थापित हो जाएगा (कम से कम, इसने मेरी मशीन पर इन 3 पुस्तकालयों को स्थापित किया है)।

यहाँ इस समस्या के साथ मेरे जुआ अनुभव की कहानी है। यदि आपके पास इस मुद्दे का बेहतर अनुभव है तो इसे संपादित या सामान्यीकृत देखना अच्छा लगेगा... उस SO जादू का थोड़ा सा प्रयोग करें।

नोट:अगले पैराग्राफ में टिप्पणियां हिम तेंदुए पर लागू होती हैं, लेकिन शेर पर नहीं, जिसके लिए 64-बिट MySQL की आवश्यकता होती है

सबसे पहले, MySQLdb के लेखक (अभी भी?) कहते हैं यहां कि सबसे खतरनाक समस्याओं में से एक यह है कि ओएस एक्स पायथन के 32 बिट संस्करण के साथ स्थापित होता है, लेकिन अधिकांश औसत जोस (स्वयं शामिल) शायद MySQL के 64 बिट संस्करण को स्थापित करने के लिए कूदते हैं। खराब चाल... यदि आपने इसे स्थापित किया है तो 64 बिट संस्करण को हटा दें (इस काल्पनिक कार्य पर निर्देश SO यहां ), फिर 32 बिट संस्करण को डाउनलोड और इंस्टॉल करें (पैकेज यहां ए> )

MySQLdb लाइब्रेरी बनाने और स्थापित करने के तरीके के बारे में कई चरण-दर-चरण हैं। उनमें अक्सर सूक्ष्म अंतर होते हैं। यह मुझे सबसे लोकप्रिय लग रहा था, और कामकाजी समाधान प्रदान किया। मैंने इसे नीचे कुछ संपादनों के साथ पुन:प्रस्तुत किया है

चरण 0: शुरू करने से पहले, मुझे लगता है कि आपके पास MySQL, Python, और जीसीसी मैक पर स्थापित।

चरण 1: नवीनतम MySQL for Python एडेप्टर डाउनलोड करें सोर्सफोर्ज से।

चरण 2: अपना डाउनलोड किया हुआ पैकेज निकालें:

tar xzvf MySQL-python-1.2.2.tar.gz

चरण 3: फोल्डर के अंदर, पैकेज को साफ करें:

sudo python setup.py clean

अतिरिक्त चरणों का जोड़ा, (इस टिप्पणी से )

चरण 3बी: अपनी MySQL-python-1.2.2/build/* निर्देशिका के अंतर्गत सब कुछ हटा दें -- इसे अपने लिए करने के लिए "python setup.py clean" पर भरोसा न करें

चरण 3c: उपयोगकर्ता/$USER/.python-eggs

. के अंतर्गत अंडा निकालें

चरण 4: मूल रूप से _mysql.c संपादन की आवश्यकता है, लेकिन अब यह आवश्यक नहीं है। ऐसा लगता है कि 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/local/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:UserWarning:मॉड्यूल _mysql पहले से ही /Library/Python/2.5/ से आयात किया गया था साइट-पैकेज/MySQL_python-1.2.3c1-py2.5-macosx-10.5-i386.egg/_mysql.pyc, लेकिन XXXX/MySQL-python-1.2.3c1 को sys.path में जोड़ा जा रहा है

यह Google के लिए बहुत आसान है, लेकिन आपको परेशानी से बचाने के लिए आप यहां पहुंचेंगे। (या शायद नहीं... विशेष रूप से भविष्य-सबूत URL नहीं) और पता करें कि आपको cd .. की आवश्यकता है बिल्ड निर्देशिका से बाहर और त्रुटि गायब हो जानी चाहिए।

जैसा कि मैंने शीर्ष पर लिखा था, मुझे इस उत्तर को सामान्यीकृत देखना अच्छा लगेगा, क्योंकि वहां इस भयानक समस्या के कई अन्य विशिष्ट अनुभव हैं। संपादित करें, या अपना बेहतर उत्तर दें।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL प्रदर्शन:MySQL बनाम मारियाडीबी

  2. Neo4j स्थापना

  3. MySQL वर्कबेंच का उपयोग करके एक नया डेटाबेस आरेख कैसे बनाएं

  4. EEE MMM dd HH:mm:ss ZZZ yyyy दिनांक स्वरूप java.sql.Date को

  5. MySQL प्रतिकृति और GTID- आधारित विफलता - त्रुटिपूर्ण लेन-देन में एक गहरा गोता