Mysql 连接器 8.0 和 Python 3.8

Posted

技术标签:

【中文标题】Mysql 连接器 8.0 和 Python 3.8【英文标题】:Mysql Connector 8.0 and Python 3.8 【发布时间】:2020-08-16 02:34:30 【问题描述】:

我使用的是 Windows 10。我安装了 python 3.8.2 32 位。我正在尝试使用 mysql-installer-web-community-8.0.20.0.msi 作为 Python 的连接器。连接器显示为灰色且不可用。错误消息显示未安装 Python 32 位。我看到旧线程声称您需要 Python 3.4。这里的文档:https://dev.mysql.com/doc/connector-python/en/connector-python-versions.html 声称这将适用于 Python 3.8.2。我需要不同的 MySql 安装程序吗?如果没有,我做错了什么?

谢谢, 斯科特

【问题讨论】:

你的路径中有python 可执行文件吗?也就是说,当您打开终端或 命令行 窗口并键入python --version 时,您是否看到版本字符串或收到类似command not found 的错误? 是的,我可以从命令行运行 python。 你的 CPU 是 64 位还是 32 位? 【参考方案1】:

我不确定为什么要使用 MySQL 安装程序来安装 Python 库。事后看来,这没有任何意义。使用 pip 安装驱动程序,如

$ pip install mysql-connector-python
# or
$ python pip install mysql-connector
# or for >= Python 3.9
$ pip install mysqlclient 

不完全清楚有什么区别,但是,三个中的第一个解决了问题。

【讨论】:

【参考方案2】:

我在 Windows 10 64 位机器上使用 MySQL 8.0.18 和 Python 3.8 时遇到了类似的问题。

我使用了以下解决方法 -

    确保使用的所有安装程序都是用于 My SQL 和 Python 的 64 位安装程序,因为我的机器是 Windows 10 64 位机器。

    确保 MySQL 的 Python 连接器支持来自 https://insidemysql.com/category/mysql-development/connectors/python/ 的相应 Python 版本,以防出现问题或缺少信息将 MySql 按次要版本降级。

    从 - dev.mysql.com/downloads 下载独立的连接器 MSI

    手动安装下载的连接器 MSI。

希望这些信息也能帮助您通过使用相应的 32 位版本来解决您的问题。

【讨论】:

【参考方案3】:

遗憾的是,MYSQL对python的兼容性很低。

例如,我在尝试安装mysql-python(一个可怕的!)时进入了this issue,在使用mysqlclient 时进入了this other issue。

mysql 的python 连接器有很多,你可以尝试一些,一一查看是否有效。我会推荐pymysql。

但是,我建议你使用带有 python 的 Postgresql 数据库,它真的很像魅力,如果你想要一个本地 DBMS/GUI/workbench 来处理它,你可以使用 PgAdmin。

【讨论】:

【参考方案4】:

如果您的 CPU 架构是 64 位,请确保下载 MySQL Connector 64 位版本。 32 位安装程序也可以工作,但有时会出现小错误。 MySQL Connector Python 也要求 Python 在系统的PATH 中。如果找不到 python,则安装失败。将 python.exe 路径添加到 System PATH 变量。以便 MySQL 连接器可以找到执行文件。

【讨论】:

【参考方案5】:

我不确定为什么要使用 MySQL 安装程序来安装 Python 库。事后看来,这没有任何意义。使用 pip 安装驱动程序,如

$ pip install mysql-connector-python
# or
$ python pip install mysql-connector

不完全清楚有什么区别,但是,两者中的第一个解决了问题。

阿达什

【讨论】:

以上是关于Mysql 连接器 8.0 和 Python 3.8的主要内容,如果未能解决你的问题,请参考以下文章

物联网服务NodeJs-5天学习第四天存储篇② ——NodeJs连接操作mysql 8.0

解决mysql 8.0 Navicat连接异常(加密方式调整)

物联网服务NodeJs-5天学习第四天存储篇① ——安装使用mysql 8.0

Navicat 连接Mysql 8.0以上版本报错1251的详细解决方案

Mysql连接驱动8.0版本改动

Mysql连接驱动8.0版本改动