没有名为MySQLdb的模块

我使用的是Python 2.5.4版本,安装MySQL 5.0版本和Django。Django和Python配合得很好,但MySQL不行。我在Windows Vista中使用它。

854201 次浏览

mysqldb是Python的一个模块,它不是预先安装的,也不是Django自带的。你可以下载mysqldb 在这里

如果你在Vista上运行,你可能想要检查Bitnami Django堆栈。,它是Apache, Python, MySQL等的一体化堆栈,打包了Bitrock跨平台安装程序,使它非常容易开始。它可以在Windows、Mac和Linux上运行。哦,是完全免费的:)

您需要使用以下命令之一。哪一种取决于你拥有和使用的操作系统和软件。

  1. easy_install mysql-python (mix os)
  2. PIP安装mysql-python (mix os/ python 2)
  3. PIP安装mysqlclient (mix os/ python 3)
  4. 安装python-mysqldb (Linux Ubuntu,…)
  5. cd /usr/ports/databases/py-MySQLdb &使安装干净 (FreeBSD)
  6. yum安装MySQL-python (Linux Fedora, CentOS…)

对于Windows,请参见这个答案:安装mysql-python (Windows)

Ubuntu:

sudo apt-get install python-mysqldb

感谢derevo,但我认为还有另一种好方法:

  1. 下载并安装ActivePython
  2. 打开命令提示符
  3. 类型pypm install mysql-python
  4. 请阅读此包的具体说明。

我认为pypmeasy_install更强大、更可靠。

...并且记住有python3.x没有MySQLdb

(我知道问题是关于python2的。X但是谷歌对这篇文章的评价相当高)


编辑:正如评论中所述,MySQLdb的fork增加了对Python 3的支持:github.com/PyMySQL/mysqlclient-python < / > < / p >

  • cd转到你的项目目录。
  • Source /bin/activate(激活你的环境)如果之前没有的话)。
  • 执行命令easy_install MySQL-python

试试这个。

pip install MySQL-python

注意,这没有针对python 3.x进行测试

在CMD

pip install wheel
pip install pymysql

在settings.py

import pymysql
pymysql.install_as_MySQLdb()

这对我很有效

我已经尝试了上面的方法,但仍然没有名为'MySQLdb'的模块,最后,我成功了

easy_install mysql-python

我的环境是unbuntu 14.04

如果你的python版本是3.5,做一个pip install mysqlclient,其他的事情对我不起作用

我在窗户下遇到了同样的情况,并寻找解决方案。

看到这篇文章安装mysql-python (Windows)

它指出安装这样的pip环境是困难的,需要许多其他依赖项。

但我终于知道,如果我们使用mysqlclient的版本下降到1.3.4,它不再需要这些要求,所以尝试:

pip install mysqlclient==1.3.4

在OSX上,这些命令对我有用

brew install mysql-connector-c
pip install MySQL-python
pip install PyMySQL

然后将这两行添加到Project/Project/初始化.py中

import pymysql
pymysql.install_as_MySQLdb()

适用于WIN和python 3.3+

如果你正在使用SQLAlchemy并且错误在/site-packages/sqlalchemy/dialects/mysql/mysqldb.py中:

from ...connectors.mysqldb import (
MySQLDBExecutionContext,
MySQLDBCompiler,
MySQLDBIdentifierPreparer,
MySQLDBConnector
)

所以你可能错过了SQLAlchemy的mysqldb连接器,解决方案是在安装mysql-python模块后重新安装sqlalchemy。

如果pip install mysqlclient产生错误,而你使用的是Ubuntu,请尝试:

sudo apt-get install -y python-dev libmysqlclient-dev && sudo pip install mysqlclient

Windows:

pip install mysqlclient pymysql

然后:

import pymysql
pymysql.install_as_MySQLdb()

python 3 Ubuntu

sudo apt-get install -y python3-mysqldb

对于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>

这意味着数据库已正确连接。

pip install --user mysqlclient

以上的工作对我来说就像魅力对我来说一样。实际上,我从sqlalchemy中得到了错误。 环境信息:

.输出说明

Python: 3.6, Ubuntu: 16.04,conda 4.6.8

Win10 / Python27

easy_install mysql-python

所有其他'pip install…'失败,存在依赖错误

我个人建议使用pymysql而不是使用真正的MySQL连接器,它为你提供了一个平台独立的接口,可以通过pip安装。

您可以像这样编辑SQLAlchemy URL模式: mysql+pymysql://username:passwd@host/database < / p >

对于Python 3.6+

sudo apt-get install libmysqlclient-dev
pip3 install mysqlclient

成功了

在我通过docker镜像重新安装Ubuntu 18.04时,上述方法都不适用。

下面为我解决了这个问题:

apt-get install holland python3-mysqldb

在我的mac上运行Catalina v10.15.2,我有以下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

在Debian Buster上,以下解决方案适用于我使用python 3.7:

sudo apt-get install libmysqlclient-dev
sudo apt-get install libssl-dev
pip install mysqlclient

我在ubuntu (linux),对我有用的是

sudo apt-get install python3-dev default-libmysqlclient-dev build-essential

最后

pip install mysqlclient

对于任何来到本页试图找到sqlalchemy的解决方案的人,你所需要做的就是:

pip install PyMySQL

并调整你的连接字符串以使用PyMySQL,从mysql://mysql+pymysql://

Python 3

确定进口顺序:

#BAD
import MySQLdb             # <------ NOT here
import pymysql
pymysql.install_as_MySQLdb()


#GOOD
import pymysql
pymysql.install_as_MySQLdb()
import MySQLdb              # <------- HERE!

在mac上的mysql.connector.python 8.0.24版本中遇到过这个问题(如果代码基相同,那么在windows中也应该会出现这个问题)。这个文件在第51行导入“from django.db.backend .mysql.base import DatabaseWrapper as 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的情况下

Python 3.8

sudo apt-get install libmysqlclient-dev
sudo apt-get install -y python3-mysqldb
pip3 install pymysql

settings.py

import pymysql
pymysql.install_as_MySQLdb()

当我运行命令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 8Python3

$ sudo dnf install python3-mysqlclient -y

Windows 7 / Python 3.6.5适合我:

Conda install -y mysqlclient