SQLAlchemy:没有名为“mysql”的模块

A B*_*A B 2 python mysql sqlalchemy pandas

我创建了这个非常简单的脚本,它使用 SQLAlchemy 连接到 MySQL 数据库并运行 SELECT 语句。它在我的开发笔记本电脑上运行得很好。现在我把它移到了新服务器,它坏了。

from sqlalchemy import create_engine
import pandas as pd


def return_connection_string(database_name, database_user, database_password, database_host, database_port):
    try:
        connection_string = 'mysql+mysqlconnector://' + database_user + ':' + \
            database_password + '@' + database_host + ':' + database_port + '/' + database_name
        print(connection_string)
        return connection_string
    except Exception as e:
        print('Encountered error while generating connection string for MySQL!')
        print(e)


def return_connection_object(database_name, database_user, database_password, database_host, database_port):
    try:
        connection_string = return_connection_string(
            database_name, database_user, database_password, database_host, database_port)
        engine = create_engine(connection_string).connect()
        return engine
    except Exception as e:
        print('Encountered error while connecting to MySQL database!')
        print(e)


mysql_conn = return_connection_object(
    'xyz', 'xyz', 'xyz', 'xyz', 'xyz')


SQL_Query = pd.read_sql_query(
    'select current_date as today, current_date-1 as yesterday', mysql_conn)

df = pd.DataFrame(SQL_Query, columns=['today', 'yesterday'])

df1 = df[['yesterday']]

print(df1)

mysql_conn.close()
Run Code Online (Sandbox Code Playgroud)

在运行时,脚本失败并出现此错误

Encountered error while connecting to MySQL database!
No module named 'mysql'
AttributeError: 'NoneType' object has no attribute 'cursor' 
Run Code Online (Sandbox Code Playgroud)

我将我的服务器与我的开发笔记本电脑进行了比较,PIP 显示了相同版本的 SQLAlchemy 模块:1.3.11。

我需要安装另一个模块吗?我缺少什么?

A B*_*A B 6

在检查我的服务器和开发笔记本电脑上的 PIP 输出后,我发现缺少一个模块。运行这个命令

pip3 install --upgrade mysql-connector-python
Run Code Online (Sandbox Code Playgroud)

解决了问题。