TypeError: init() got multiple values for argument ‘schema’
导读
今天在使用jupyter lab 连上MySQL 报的错,检索了大量网站才得以解决
报错原因:
SQLAlchemy的version 2.0.0(2023年1月26日发布)与早期版本的pandas不兼容
方法一:可以将Pandas版本升级到最新版本
pip install --upgrade pandas
方法二:将SQLAlchemy的版本往下降,这边我采取的方法就是这个
pip install sqlalchemy==1.4.46
这边下载完,若是jupyter ,重启下kernel或者切换一次
方法三:安装sqlalchemy-databricks 以代替SQLAlchemy,前提把SQLAlchemy卸载干净,以防到时冲突报错。
测试代码
import pandas as pd
from sqlalchemy import create_engine
import pymysql
pymysql.install_as_MySQLdb()#MySQL 8.0 以上
engine = create_engine('mysql+pymysql://<user>:<password>@localhost:3306/testDB')
sql_query = 'select * from test;'
df_read = pd.read_sql_query(sql_query, engine)