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