修復 ModuleNotFoundError: No module named MySQLdb 錯誤

MySQL 是使用 Python 進行資料處理最高效的選擇之一。名為「mysqldb」的 Python 模組可讓您將 Python 應用程式連接到 MySQL 資料庫。如果您的系統上未安裝此模組,您將看到錯誤「沒有名為『mysqldb』的模組」。

ModuleNotFoundError:找不到名為 MySQLdb 的模組

本文將探討「沒有名為 mysqldb 的模組」錯誤的可能原因和解決方法。

為什麼會出現這個錯誤?

一個 Python 模組依賴一個或多個套件。如果與「mysqldb」關聯的某個套件未安裝,而您嘗試匯入該模組,則會收到錯誤「沒有名為 mysqldb 的模組」。

以下摘錄顯示我們正在嘗試匯入,但發生錯誤:

“ModuleNotFoundError”錯誤

解決方法:安裝“MySQLdb”

MySQLdb 模組可透過基於 Python 的套件管理器 PIP 取得。請確保您的系統已安裝 PIP。完整的解決方案如下所示:

步驟 1:安裝 PIP

可以使用以下命令在 Linux 上安裝 PIP:

$ sudo apt install python3-pip # 適用於 Debian 和 Ubuntu 發行版 $ sudo yum install python3-pip # 適用於 CentOS7/RHEL $ sudo dnf install python3-pip # 適用於 Fedora/CentOS8 $ sudo pacman -Spython3-pip # 適用於 Fedora/CentOS8 $

安裝 python3-pip

要在 Python2 上安裝 PIP,需要使用套件名稱「python-pip」。

步驟 2:安裝「mysqlclient」軟體包

MySQLdb 模組與兩個軟體包相關聯,這兩個軟體包必須先安裝才能匯入各種 PIP 軟體包。第一個軟體包是 mysqlclient,它使 Python 能夠連接到 MySQL 資料庫。

缺少此軟體包是導致您無法匯入模組的主要原因。 「mysqlclient」軟體包可在Linux上以下列方式安裝:

$ pip3 install mysqlclient

安裝 MySQL 軟體包的命令

安裝“mysqlclient”時可能會出現錯誤。這是因為您沒有安裝所需的組件。

用於在系統中包含「mysqlclient」軟體包的 Python 開發工具包。可以使用以下命令安裝此軟體包集:

$ sudo apt install python3-dev default-libmysqlclient-dev build-essential $ sudo yum install python3-dev default-libmysqlclient-dev build-essential $ sudo dnf install 是

備註: 「apt」、「yum」和「dnf」分別指基於Debian/Ubuntu、CentOS/RHEL和Fedora的發行版。

用於安裝 MySQL 建置基礎元件的命令

安裝“mysqlclient”後,嘗試導入該模組。如果錯誤仍然存在,請繼續下一步。

步驟 3:安裝“mysql-connector-python”

該軟體包允許 Python 連接到 MySQL 資料庫。可以使用以下基於 PIP 的命令進行安裝:

$ sudo pip3 install mysql-connector-python

將 MySQL 連接到 Python 的命令

如果您使用的是 Python2 的 PIP,請將套件管理器名稱「pip3」替換為「pip2」。

步驟 4:檢查解決方案

現在,使用單元的全名導入該單元:

>>> 匯入 MySQLdb

導入 MySQL 資料庫

截圖顯示該模組已匯入 Python 環境中。

當使用者嘗試匯入缺少必要軟體包的模組時,會出現「找不到名為 mysqldb 的模組」的錯誤。可以透過在系統上安裝“mysqlclient”軟體包來解決此錯誤。但是,如果錯誤仍然存在,請使用 PIP 安裝「mysql-connector-python」軟體包。本文概述了 Linux 系統上「MySQLdb」模組錯誤的原因和解決方法。

評論被關閉。