Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การแก้ไขปัญหา >> Linux

แก้ไข ModuleNotFoundError:โมดูล MySQLdb หายไปใน Python

MySQL เป็นหนึ่งในโปรแกรมที่มีประสิทธิภาพสูงสุดที่จะใช้ใน Python โมดูล Python “mysqldb” ช่วยให้คุณเชื่อมต่อ Python กับ MySQL หากไม่ได้ติดตั้งโมดูลบนระบบของคุณ ข้อผิดพลาด “ไม่มีโมดูลชื่อ 'mysqldb'” จะเกิดขึ้น

ModuleNotFoundError:ไม่มีโมดูลชื่อ MySQLdb Fix

โพสต์นี้จะกล่าวถึงสาเหตุที่เป็นไปได้และแนวทางแก้ไขเพื่อแก้ไขข้อผิดพลาด “ไม่มีโมดูลชื่อ mysqldb”

เหตุใดจึงเกิดข้อผิดพลาดนี้

โมดูล Python อาศัยแพ็คเกจเดียวหรือหลายแพ็คเกจ หากไม่ได้ติดตั้งแพ็คเกจที่เกี่ยวข้องของ “mysqldb” และคุณกำลังพยายามนำเข้าโมดูล ข้อผิดพลาด “ไม่มีโมดูลชื่อ mysqldb” จะเกิดขึ้น

ตัวอย่างนี้แสดงว่าเรากำลังพยายามนำเข้าแต่เกิดข้อผิดพลาด:

ModelNotFoundError

วิธีแก้ปัญหา:ติดตั้ง “MySQLdb”

โมดูล “MySQLdb” พร้อมใช้งานผ่าน PIP ซึ่งเป็นตัวจัดการที่ใช้ Python ตรวจสอบให้แน่ใจว่าติดตั้ง PIP บนระบบของคุณแล้ว วิธีแก้ปัญหาที่สมบูรณ์จะแสดงอยู่ในขั้นตอนต่อไปนี้:

ขั้นตอนที่ 1:ติดตั้ง PIP

สามารถติดตั้ง PIP บน Linux ได้โดยใช้ชุดคำสั่งต่อไปนี้:

$ sudo apt install python3-pip           #For Debian and Ubuntu-Based Distributions
$ sudo yum install python3-pip           #For CentOS7/RHEL
$ sudo dnf install python3-pip           #For Fedora/CentOS8
$ sudo pacman -S python3-pip             #For Arch-Based Distributions
การติดตั้ง python3-pip

คุณต้องใช้ชื่อแพ็กเกจ “python-pip” เพื่อติดตั้ง PIP บน Python2

ขั้นตอนที่ 2:ติดตั้งแพ็คเกจ “mysqlclient”

โมดูล “MySQLdb” เชื่อมโยงกับแพ็คเกจสองชุดที่ต้องติดตั้งก่อนที่จะนำเข้าแพ็คเกจ PIP ที่แตกต่างกัน แพ็คเกจแรกคือ “mysqlclient” ซึ่งช่วยให้ Python เชื่อมต่อกับ MySQL ได้

การไม่มีแพ็คเกจนี้เป็นเหตุผลหลักที่คุณไม่สามารถนำเข้าโมดูลได้ แพ็คเกจ “mysqlclient” สามารถติดตั้งบน Linux ได้ดังนี้:

$ pip3 install mysqlclient
ติดตั้งแพ็คเกจ MySQL

คุณอาจได้รับข้อผิดพลาดขณะติดตั้ง “mysqlclient” เป็นเพราะคุณไม่มี

แพ็คเกจการพัฒนาของ Python เพื่อฝังแพ็คเกจ “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

หลังจากติดตั้ง “mysqlclient” แล้ว ให้ลองนำเข้าโมดูล หากยังมีข้อผิดพลาดอยู่ ให้ดำเนินการต่อไป

ขั้นตอนที่ 3:ติดตั้ง “mysql-connector-python”

แพ็คเกจนี้อนุญาตให้ Python เชื่อมต่อกับฐานข้อมูล MySQL สามารถใช้คำสั่งแบบ PIP ต่อไปนี้เพื่อติดตั้ง:

$ sudo pip3 install mysql-connector-python
เชื่อมต่อหลามกับฐานข้อมูล MySQL

หากคุณใช้ PIP สำหรับ Python2 ให้แทนที่ด้วยชื่อผู้จัดการแพ็คเกจ “pip3” เป็น “pip2”

ขั้นตอนที่ 4:ตรวจสอบวิธีแก้ปัญหา

ตอนนี้ นำเข้าโมดูลโดยใช้ชื่อเต็ม:

>>> import MySQLdb
นำเข้า MySQLdb

ภาพหน้าจอแสดงให้เห็นว่าโมดูลถูกนำเข้าไปยังสภาพแวดล้อม Python

ข้อผิดพลาด “ไม่มีโมดูลชื่อ mysqldb” เกิดขึ้นเมื่อผู้ใช้พยายามนำเข้าโมดูลนี้หากไม่มีแพ็คเกจที่จำเป็นในการนำเข้าโมดูลนี้ ข้อผิดพลาดสามารถแก้ไขได้โดยการติดตั้งแพ็คเกจ “mysqlclient” บนระบบ อย่างไรก็ตาม หากยังไม่ได้รับการแก้ไข ให้ติดตั้งแพ็คเกจ “mysql-connector-python” โดยใช้ PIP โพสต์นี้ได้ระบุเหตุผลและแนวทางแก้ไขในการแก้ไขข้อผิดพลาดโมดูล “MySQLdb” บน Linux

เกี่ยวกับผู้เขียน

แก้ไข ModuleNotFoundError:โมดูล MySQLdb หายไปใน Python

มูฮัมหมัด ซูเบียน

Muhammad Zubyan เป็นผู้เชี่ยวชาญด้านการสนับสนุนด้านไอทีของ Google ที่ได้รับการรับรองและมีประสบการณ์ยาวนานกว่า 7 ปี เขาทำงานกับคอมพิวเตอร์มากกว่า 1,500 เครื่อง และได้รับข้อมูลเชิงลึกอันมีค่าซึ่งช่วยให้เขาตรวจจับและแก้ไขปัญหาต้นตอที่ซับซ้อนของปัญหาและข้อผิดพลาดที่เกี่ยวข้องกับ Windows ได้ นอกเหนือจากการจัดการ Appuals ในฐานะบรรณาธิการอาวุโสแล้ว ปัจจุบันเขากำลังพัฒนาโปรแกรม Game Optimization ของตัวเองที่ให้ความสำคัญกับทั้งนักเล่นเกมและผู้ใช้ทั่วไป