首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >pymysql工作,但是sqlalchemy不工作。

pymysql工作,但是sqlalchemy不工作。
EN

Stack Overflow用户
提问于 2022-06-22 07:42:06
回答 1查看 99关注 0票数 0

我在一个EC2实例Centos7上。使用Python 3.9.10。通过安装以下库sqlalchemypandaspymysql激活Virtualenv。

所以这很好用:

代码语言:javascript
运行
复制
import os
import pymysql
dw = {
    "host": os.environ.get("DW_HOST"),
    "database": os.environ.get("DW_DATABASE"),
    "user": os.environ.get("DW_USER"),
    "password": os.environ.get("DW_PASS"),
}
conn = pymysql.connect(**dw)
with conn.cursor() as cur:
    cur.execute("SELECT * FROM table LIMIT 10")
    data = cur.fetchall()
    for row in data:
        print(row)

这并不是,我也不知道为什么(在本地工作,):

代码语言:javascript
运行
复制
import sqlalchemy
import pandas as pd
import os
dw = {
    "host": os.environ.get("DW_HOST"),
    "database": os.environ.get("DW_DATABASE"),
    "user": os.environ.get("DW_USER"),
    "password": os.environ.get("DW_PASS"),
}
engine = sqlalchemy.create_engine(f'mysql+pymysql://{dw["user"]}:{dw["password"]}@{dw["host"]}/{dw["database"]}')
df = pd.read_sql("SELECT * FROM table LIMIT 10", engine)
df

获取错误:

代码语言:javascript
运行
复制
sqlalchemy.exc.OperationalError: (pymysql.err.OperationalError) (2003, "Can't connect to MySQL server on 'xyz@cluster-abc.region.rds.amazonaws.com' ([Errno -2] Name or service not known)")
(Background on this error at: https://sqlalche.me/e/14/e3q8)

也曾尝试过:

代码语言:javascript
运行
复制
conn_string = f'mysql+pymysql://{dw["user"]}:{dw["password"]}@{dw["host"]}/{dw["database"]}'
df = pd.read_sql("SELECT * FROM table LIMIT 10", conn_string)

也曾尝试过:

将端口号3306

  • Adding .connect()方法添加到engine

中的

EN

回答 1

Stack Overflow用户

发布于 2022-06-22 07:46:30

尝试显式地传递端口号。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72711460

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档