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


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


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


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

安装mysql-python(混合操作系统) PIP install mysql-python (mix os/ python 2) PIP安装mysqlclient(混合操作系统/ python 3) 安装python-mysqldb (Linux Ubuntu…) cd /usr/ports/databases/py-MySQLdb && make install clean (FreeBSD) 安装MySQL-python (Linux Fedora, CentOS…)

安装mysql-python (Windows)


Ubuntu:

sudo apt-get install python-mysqldb

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

下载并安装ActivePython 打开命令提示符 输入pypm install mysql-python 请阅读此包的具体说明。

我认为pypm比easy_install更强大、更可靠。


...记住python3.x没有MySQLdb

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


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


使用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安装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/init.py中

import pymysql
pymysql.install_as_MySQLdb()

适用于WIN和python 3.3+


如果你正在使用SQLAlchemy,错误在/site-packages/ SQLAlchemy /dialect /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: / /用户名:passwd@host /数据库


对于Python 3.6+

sudo apt-get install libmysqlclient-dev
pip3 install mysqlclient

成功了


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

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

安装荷兰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.backends.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 8和Python3

安装python3-mysqlclient


Windows 7 / Python 3.6.5适合我:

conda install -y mysqlclient