MySQL पायथन में उपयोग करने के लिए सबसे कुशल में से एक है। पायथन मॉड्यूल "mysqldb" आपको अपने पायथन को MySQL से जोड़ने की अनुमति देता है। यदि मॉड्यूल आपके सिस्टम पर इंस्टॉल नहीं है, तो त्रुटि "no module named 'mysqldb'" होती है।
यह पोस्ट त्रुटि "no module named mysqldb" को ठीक करने के संभावित कारणों और समाधानों को संबोधित करेगी।
यह त्रुटि क्यों होती है?
एक पायथन मॉड्यूल या तो एक पैकेज या कई पैकेज पर निर्भर करता है। यदि "mysqldb" से जुड़े पैकेज में से एक इंस्टॉल नहीं है, और आप मॉड्यूल आयात करने का प्रयास कर रहे हैं, तो त्रुटि "no module named mysqldb" होती है।
यहां, स्निपेट दिखाता है कि हम आयात करने का प्रयास कर रहे हैं लेकिन त्रुटि हुई:
ModelNotFoundError
समाधान: "MySQLdb" इंस्टॉल करें
"MySQLdb" मॉड्यूल PIP के माध्यम से उपलब्ध है, एक पायथन-आधारित प्रबंधक। सुनिश्चित करें कि PIP आपके सिस्टम पर इंस्टॉल है। पूरा समाधान निम्न चरणों में प्रदर्शित किया गया है:
चरण 1: PIP इंस्टॉल करें
लिनक्स पर PIP को निम्न कमांड सेट का उपयोग करके इंस्टॉल किया जा सकता है:
$ sudo apt install python3-pip #डेबियन और उबंटू-आधारित वितरण के लिए $ sudo yum install python3-pip #CentOS7/RHEL के लिए $ sudo dnf install python3-pip #फेडोरा/CentOS8 के लिए $ sudo pacman -S python3-pip #आर्क-आधारित वितरण के लिए
python3-pip इंस्टॉल करना
आपको पायथन2 पर PIP इंस्टॉल करने के लिए पैकेज नाम "python-pip" का उपयोग करने की आवश्यकता है।
चरण 2: "mysqlclient" पैकेज इंस्टॉल करें
"MySQLdb" मॉड्यूल दो पैकेज से जुड़ा हुआ है जिन्हें PIP के विभिन्न पैकेज आयात करने से पहले इंस्टॉल करने की आवश्यकता है। पहला पैकेज "mysqlclient" है जो पायथन को MySQL से जोड़ने में सक्षम बनाता है।
इस पैकेज की अनुपस्थिति प्राथमिक कारण है कि आप मॉड्यूल आयात नहीं कर सकते। "mysqlclient" पैकेज को लिनक्स पर इस प्रकार इंस्टॉल किया जा सकता है:
$ pip3 install mysqlclient
MySQL पैकेज इंस्टॉल करें
"mysqlclient" इंस्टॉल करते समय आपको त्रुटि प्राप्त हो सकती है। ऐसा इसलिए है क्योंकि आपके पास पायथन का विकास पैकेज नहीं है जो आपके सिस्टम पर "mysqlclient" पैकेज को एम्बेड करने के लिए है। पैकेज का यह सेट कमांड का उपयोग करके इंस्टॉल किया जा सकता है:
$ sudo apt install python3-dev default-libmysqlclient-dev build-essential $ sudo yum install python3-dev default-libmysqlclient-dev build-essential $ sudo dnf install python3-dev default-libmysqlclient-dev build-essential
नोट: "apt", "yum", और "dnf" क्रमशः डेबियन/उबंटू, CentOS/RHEL, और फेडोरा-आधारित वितरण को संदर्भित करते हैं।
MySQL बिल्ड एसेंशियल इंस्टॉलेशन
"mysqlclient" इंस्टॉल करने के बाद, मॉड्यूल आयात करने का प्रयास करें। यदि त्रुटि बनी रहती है, तो आगे बढ़ें।
चरण 3: "mysql-connector-python" इंस्टॉल करें
यह पैकेज पायथन को MySQL डेटाबेस से जोड़ने की अनुमति देता है। निम्न PIP-आधारित कमांड का उपयोग इसे इंस्टॉल करने के लिए किया जा सकता है:
$ sudo pip3 install mysql-connector-python
पायथन को MySQL DB से जोड़ना
यदि आप पायथन2 के लिए PIP का उपयोग कर रहे हैं, तो पैकेज प्रबंधक नाम "pip3" को "pip2" से बदलें
चरण 4: समाधान सत्यापित करें
अब, मॉड्यूल को उसके पूर्ण नाम का उपयोग करके आयात करें:
>>> import MySQLdb
MySQLdb आयात करें
स्क्रीनशॉट दिखाता है कि मॉड्यूल पायथन वातावरण में आयात किया गया है।
त्रुटि "no module named mysqldb" तब होती है जब उपयोगकर्ता इस मॉड्यूल को आयात करने का प्रयास करता है जब इस मॉड्यूल को आयात करने के लिए आवश्यक पैकेज अनुपस्थित होते हैं। त्रुटि को सिस्टम पर पैकेज "mysqlclient" इंस्टॉल करके ठीक किया जा सकता है। हालांकि, यदि यह अभी भी ठीक नहीं हुआ है, तो PIP का उपयोग करके "mysql-connector-python" पैकेज इंस्टॉल करें। इस पोस्ट ने लिनक्स पर "MySQLdb" मॉड्यूल त्रुटि को ठीक करने के कारण और समाधान सूचीबद्ध किए हैं।
लेखक के बारे में

मुहम्मद जुब्यान
मुहम्मद जुब्यान एक प्रमाणित Google IT सपोर्ट प्रोफेशनल हैं जिनके पास 7 वर्षों से अधिक का व्यापक अनुभव है। उन्होंने 1500 से अधिक कंप्यूटर्स पर काम किया है, जिससे उन्हें विंडोज-संबंधी मुद्दों और त्रुटियों के किसी भी जटिल मूल कारण का पता लगाने और समस्या निवारण करने में सक्षम बनाने वाली मूल्यवान अंतर्दृष्टि प्राप्त हुई है। Appuals को सीनियर एडिटर के रूप में प्रबंधित करने के अलावा, वह वर्तमान में अपना खुद का गेम ऑप्टिमाइज़ेशन प्रोग्राम विकसित कर रहे हैं जो गेमर्स और आकस्मिक उपयोगकर्ताओं दोनों को पूरा करता है।