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


当前回答

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

pip install PyMySQL

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

其他回答

适用于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>

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

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

在CMD

pip install wheel
pip install pymysql

在settings.py

import pymysql
pymysql.install_as_MySQLdb()

这对我很有效

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

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

安装荷兰python3-mysqldb

如果你正在使用SQLAlchemy,错误在/site-packages/ SQLAlchemy /dialect /mysql/mysqldb.py:

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

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

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

您可以像这样编辑SQLAlchemy URL模式: mysql + pymysql: / /用户名:passwd@host /数据库