问题场景:
使用如下代码获取的mysql引擎:
# 获取数据库引擎
def get_db_engine(db_info, db_name):
db_dict = {'host': db_info['host'],
'username': db_info['user'],
'password': db_info['pwd'],
'port': db_info['port'],
'database': db_name}
try:
db_url = engineUrl.URL.create("mysql+pymysql", **db_dict)
except Exception as e:
db_dict['drivername'] = 'mysql+pymysql'
db_url = engineUrl.URL(**db_dict)
db_engine = create_engine(db_url, pool_pre_ping=True)
return db_engine
在使用它进行read_sql时,报错:
AttributeError: 'OptionEngine' object has no attribute 'execute'
解决办法:
是因为SQLAlchemy的版本太高了,降版本即可!
pip install SQLAlchemy==1.4.32