【问题标题】:Heroku Python No module named MysqlHeroku Python没有名为Mysql的模块
【发布时间】:2021-01-13 05:16:43
【问题描述】:

我想在 Python 机器人中使用 MySQL 查询并将其部署到 Heroku。但它给了我这个错误:

Traceback (most recent call last):  
File "bot.py", line 2, in <module>  
import mysql.connector  
ModuleNotFoundError: No module named 'mysql'

我的需求文件包含:

pyodbc==4.0.22   
MySQL-python

部署顺利,但运行代码时显示错误。

这是导入:

import mysql.connector

【问题讨论】:

  • 您是否能够使用下面显示的任何答案来解决这个问题?如果是这样,请记得accept it。这会向其他用户显示您已找到解决方案。

标签: python-3.x heroku mysql-python mysql-connector


【解决方案1】:

有几个用于 Python(和大多数其他语言)的 MySQL 库。

MySQL-Python 是一个旧的遗留库:

这是 MySQLdb 的旧 (1.x) 版本。虽然它仍在维护中,但不会有很多新功能开发。

您可能想使用不同的库,但如果您真的想使用这个库,请should be importing MySQLdb, not mysql.connector

您当前正在导入mysql.connector,它看起来是this library。要从 PyPI 安装它,请查找 the mysql-connector-python package

这些库不是相互替代的。根据您编写代码的方式,您可能需要进行一些重构。

请注意,在开发和生产中以相同的方式安装依赖项通常是个好主意。也就是说,如果您在 Heroku 上使用 requirements.txtpip,请在本地执行相同的操作。将库添加到您的requirements.txt,然后使用pip install -r requirements.txt 安装它们。这有助于最大限度地减少部署时的意外情况。

【讨论】:

    猜你喜欢
    • 2012-07-16
    • 2012-07-20
    • 2019-06-27
    • 2012-09-22
    • 2015-03-18
    • 2021-12-14
    • 2023-03-05
    • 2021-06-07
    • 2019-12-16
    相关资源
    最近更新 更多