[英]No module named MySQLdb
我正在使用 Python 版本 2.5.4 並安裝 MySQL 版本 5.0 和 Django。 Django 可以與 Python 一起正常工作,但不能與 MySQL 一起工作。 我在 Windows Vista 中使用它。
您需要使用以下命令之一。 哪一個取決於您擁有和使用的操作系統和軟件。
對於 Windows,請參閱此答案:安裝 mysql-python (Windows)
...請記住,python3.x 沒有 MySQLdb
(我知道問題是關於 python2.x 但谷歌對這篇文章的評價很高)
編輯:如評論中所述,有一個 MySQLdb 的分支添加了 Python 3 支持: github.com/PyMySQL/mysqlclient-python
如果您的 python 版本是3.5
,請執行pip install mysqlclient
,其他東西對我不起作用
mysqldb
是 Python 的一個模塊,它沒有預先安裝或與 Django 一起提供。 你可以在這里下載mysqldb
。
Ubuntu:
sudo apt-get install python-mysqldb
在 CMD 中
pip install wheel
pip install pymysql
在 settings.py
import pymysql
pymysql.install_as_MySQLdb()
它對我有用
我在ubuntu(linux),對我有用的是
sudo apt-get install python3-dev default-libmysqlclient-dev build-essential
然后最后
pip install mysqlclient
對於 Windows:
pip install mysqlclient pymysql
然后:
import pymysql
pymysql.install_as_MySQLdb()
對於 python 3 Ubuntu
sudo apt-get install -y python3-mysqldb
pip install PyMySQL
然后將這兩行添加到您的 Project/Project/ init .py
import pymysql
pymysql.install_as_MySQLdb()
適用於 WIN 和 python 3.3+
對於試圖找到sqlalchemy
解決方案時來到此頁面的任何人,您需要做的就是:
pip install PyMySQL
並調整您的連接字符串以使用 PyMySQL,從mysql://
到mysql+pymysql://
。
嘗試這個。
pip install MySQL-python
如果 pip install mysqlclient 產生錯誤並且您使用的是 Ubuntu,請嘗試:
sudo apt-get install -y python-dev libmysqlclient-dev && sudo pip install mysqlclient
對於 Python 3.6+
sudo apt-get install libmysqlclient-dev
pip3 install mysqlclient
成功了
sudo apt-get install libmysqlclient-dev
sudo apt-get install -y python3-mysqldb
pip3 install pymysql
import pymysql
pymysql.install_as_MySQLdb()
我在windows下遇到了同樣的情況,尋找解決辦法。
看到這篇文章Install mysql-python (Windows) 。
它指出安裝這樣的 pip 環境很困難,需要許多其他依賴項。
但我終於知道,如果我們使用版本低至1.3.4
的mysqlclient
,它就不再需要那個要求了,所以試試:
pip install mysqlclient==1.3.4
pip install --user mysqlclient
以上對我來說就像對我的魅力一樣。我實際上是從 sqlalchemy 出錯的。 環境信息:
我個人建議使用pymysql
而不是使用正版 MySQL 連接器,它為您提供了一個獨立於平台的接口,並且可以通過pip
安裝。
您可以像這樣編輯 SQLAlchemy URL 架構: mysql+pymysql://username:passwd@host/database
cd
轉到您的項目目錄。easy_install MySQL-python
感謝 derevo,但我認為還有另一種好方法:
pypm install mysql-python
我認為pypm
比easy_install
更強大、更可靠。
如果您在 Vista 上運行,您可能需要查看Bitnami Django 堆棧。 它是 Apache、Python、MySQL 等的多合一堆棧,與Bitrock跨平台安裝程序打包在一起,使其非常容易上手。 它可以在 Windows、Mac 和 Linux 上運行。 哦,而且是完全免費的 :)
對於Python 3+版本
將mysql-connector
安裝為:
pip3 install mysql-connector
示例 Python DB 連接代碼:
import mysql.connector
db_connection = mysql.connector.connect(
host="localhost",
user="root",
passwd=""
)
print(db_connection)
輸出:
> <mysql.connector.connection.MySQLConnection object at > 0x000002338A4C6B00>
這意味着,數據庫已正確連接。
在 Debian Buster 上,以下解決方案適用於 python 3.7:
sudo apt-get install libmysqlclient-dev
sudo apt-get install libssl-dev
pip install mysqlclient
蟒蛇 3
確保導入順序:
#BAD
import MySQLdb # <------ NOT here
import pymysql
pymysql.install_as_MySQLdb()
#GOOD
import pymysql
pymysql.install_as_MySQLdb()
import MySQLdb # <------- HERE!
我已經嘗試了上面的方法,但仍然沒有名為'MySQLdb'的模塊,最后,我成功了
easy_install mysql-python
我的環境是 unbuntu 14.04
在 OSX 上,這些命令對我有用
brew install mysql-connector-c
pip install MySQL-python
如果您正在使用 SQLAlchemy 並且錯誤位於/site-packages/sqlalchemy/dialects/mysql/mysqldb.py
:
from ...connectors.mysqldb import (
MySQLDBExecutionContext,
MySQLDBCompiler,
MySQLDBIdentifierPreparer,
MySQLDBConnector
)
所以你可能錯過了SQLAlchemy
的 mysqldb 連接器,解決方案是在安裝mysql-python
模塊后重新安裝 sqlalchemy。
在通過 docker 映像全新安裝的 Ubuntu 18.04 上,以上方法均不適用於我。
以下為我解決了它:
apt-get install holland python3-mysqldb
在我運行 Catalina v10.15.2 的 Mac 上,我遇到了以下 MySQLdb 版本沖突:
ImportError: this is MySQLdb version (1, 2, 5, 'final', 1), but _mysql is version (1, 4, 6, 'final', 0)
為了解決它,我做了以下事情:
pip uninstall MySQL-python
pip install MySQL-python
在 mac 上使用 mysql.connector.python 版本 8.0.24 遇到了這個問題(如果代碼庫相同,那么問題也應該發生在 Windows 中)。 第 51 行的這個文件導入“從 django.db.backends.mysql.base 導入 DatabaseWrapper 作為 MySQLDatabaseWrapper”。 導入的文件有以下代碼 14-20(您收到的確切代碼和錯誤是代碼的一部分
try:
import MySQLdb as Database
except ImportError as err:
raise ImproperlyConfigured(
'Error loading MySQLdb module.\n'
'Did you install mysqlclient?'
) from err
錯誤在這里形成。 不知道為什么這個導入在不同版本的 mysql 連接器中不斷返回,但 8.0.23 沒有導入,所以我恢復到那個版本並且錯誤消失了......這是你希望繼續使用 mysql.connector 的情況。Python
Win10 / Python27 這對我有用:
easy_install mysql-python
所有其他“pip install ...”因依賴錯誤而失敗
當我運行命令 apt-get install python-mysqldb 時,我仍然遇到下面的錯誤信息
安裝mysqldb python接口時找不到mysql_config
所以我首先必須運行下面的命令
sudo apt-get install libmariadbclient-dev
如果您使用 MySQL 而不是 MariaDB,請運行以下命令
然后運行
apt-get install python-mysqldb
然后現在運行
pip install mysqlclient
對於CentOS 8
和Python3
$ sudo dnf install python3-mysqlclient -y
Windows 7 / Python 3.6.5 這對我有用:
conda install -y mysqlclient
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.