MySQL পাইথনে ব্যবহার করার জন্য সবচেয়ে দক্ষ ডেটাবেসগুলির একটি। পাইথন মডিউল "mysqldb" আপনাকে আপনার পাইথনকে MySQL-এ কানেক্ট করতে দেয়। যদি মডিউলটি আপনার সিস্টেমে ইনস্টল্ড না থাকে, তবে "no module named 'mysqldb'" ত্রুটি ঘটে।
ModuleNotFoundError: No module named MySQLdb Fix
এই পোস্টে "no module named mysqldb" ত্রুটির সম্ভাব্য কারণ এবং সমাধান আলোচনা করা হবে।
এই ত্রুটি কেন ঘটে?
একটি পাইথন মডিউল হয় একক প্যাকেজ বা একাধিক প্যাকেজের ওপর নির্ভর করে। যদি "mysqldb"-এর asoshiated প্যাকেজগুলোর যেকোনো একটি ইনস্টল্ড না থাকে, এবং আপনি মডিউলটি ইম্পোর্ট করার চেষ্টা করেন, তবে "no module named mysqldb" ত্রুটি ঘটে।
এখানে, স্নিপেটে দেখাচ্ছে যে আমরা ইম্পোর্ট করার চেষ্টা করছি কিন্তু ত্রুটি হচ্ছে:
সমাধান: "MySQLdb" ইনস্টল করুন
"MySQLdb" মডিউল PIP-এর মাধ্যমে উপলব্ধ, একটি পাইথন-ভিত্তিক ম্যানেজার। নিশ্চিত করুন যে PIP আপনার সিস্টেমে ইনস্টল্ড আছে। সম্পূর্ণ সমাধান নিচের ধাপগুলোতে দেখানো হলো:
ধাপ ১: PIP ইনস্টল করুন
লিনাক্সে PIP নিচের কমান্ড সেট দিয়ে ইনস্টল করা যায়:
$ sudo apt install python3-pip #Debian এবং Ubuntu-ভিত্তিক ডিস্ট্রিবিউশনের জন্য $ sudo yum install python3-pip #CentOS7/RHEL-এর জন্য $ sudo dnf install python3-pip #Fedora/CentOS8-এর জন্য $ sudo pacman -S python3-pip #Arch-ভিত্তিক ডিস্ট্রিবিউশনের জন্যInstalling python3-pip
পাইথন২-এ PIP ইনস্টল করতে আপনাকে প্যাকেজের নাম "python-pip" ব্যবহার করতে হবে।
ধাপ ২: "mysqlclient" প্যাকেজ ইনস্টল করুন
"MySQLdb" মডিউল দুটি প্যাকেজের সাথে asoshiated যা PIP-এর বিভিন্ন প্যাকেজ ইম্পোর্ট করার আগে ইনস্টল করা প্রয়োজন। প্রথম প্যাকেজ হল "mysqlclient" যা পাইথনকে MySQL-এ কানেক্ট করতে সক্ষম করে।
এই প্যাকেজের অনুপস্থিতিই আপনার মডিউল ইম্পোর্ট না कर पाने का প্রাথমিক কারণ। "mysqlclient" প্যাকেজ লিনাক্সে নিচের মত ইনস্টল করা যায়:
$ pip3 install mysqlclientInstall MySQL package
আপনি "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" যথাক্রমে Debian/Ubuntu, CentOS/RHEL, এবং Fedora-ভিত্তিক ডিস্ট্রিবিউশনকে বোঝায়।
MySQL build essentials installation
"mysqlclient" ইনস্টল করার পর, মডিউল ইম্পোর্ট করার চেষ্টা করুন। যদি ত্রুটি থাকে, তবে এগিয়ে যান।
ধাপ ৩: "mysql-connector-python" ইনস্টল করুন
এই প্যাকেজ পাইথনকে MySQL ডেটাবেস-এ কানেক্ট করতে দেয়। নিচের PIP-ভিত্তিক কমান্ড ব্যবহার করে ইনস্টল করা যায়:
$ sudo pip3 install mysql-connector-pythonconnecting python to MySQL DB
আপনি যদি পাইথন২-র জন্য PIP ব্যবহার করেন, তবে প্যাকেজ ম্যানেজারের নাম "pip3"-কে "pip2"-তে রিপ্লেস করুন।
ধাপ ৪: সমাধান যাচাই করুন
এখন, মডিউলটি এর পূর্ণ নাম দিয়ে ইম্পোর্ট করুন:
>>> import MySQLdbImport MySQLdb
স্ক্রিনশটে দেখাচ্ছে যে মডিউল পাইথন এনভায়রনমেন্টে ইম্পোর্ট হয়েছে।
"no module named mysqldb" ত্রুটি ঘটে যখন ইউজার এটি ইম্পোর্ট করার চেষ্টা করে এই মডিউল ইম্পোর্ট করার জন্য প্রয়োজনীয় প্যাকেজগুলির অনুপস্থিতিতে। এই ত্রুটি "mysqlclient" প্যাকেজ সিস্টেমে ইনস্টল করলে ফিক্স হয়। কিন্তু যদি এখনও ফিক্স না হয়, তবে PIP ব্যবহার করে "mysql-connector-python" প্যাকেজ ইনস্টল করুন। এই পোস্টে লিনাক্সে "MySQLdb" মডিউল ত্রুটির কারণ এবং সমাধান দেওয়া হয়েছে।
লেখক সম্পর্কে

মুহাম্মদ জুবয়ান
মুহাম্মদ জুবয়ান একজন সার্টিফাইড Google IT Support Professional যিনি ৭ বছরের বেশি ব্যাপক অভিজ্ঞতা রাখেন। তিনি ১৫০০ এর বেশি কম্পিউটারে কাজ করেছেন, যা তাদের উইন্ডোজ-রিলেটেড ইস্যু এবং ত্রুটির জটিল রুট কজজ ডিটেক্ট এবং ট্রাবলশুট করতে সক্ষম করে। Appuals-কে সিনিয়র এডিটর হিসেবে ম্যানেজ করার পাশাপাশি, তিনি বর্তমানে নিজের গেম অপ্টিমাইজেশন প্রোগ্রাম ডেভেলপ করছেন যা গেমার এবং ক্যাজুয়াল ইউজার উভয়ের জন্য কাজ করবে।