我尝试使用 sqlAlchemy 连接到我的数据库并收到错误
Can't load plugin: sqlalchemy.dialects:mysql.pymysql
。该脚本之前有效,我没有更改任何内容,但我无法连接到数据库。
我正在导入库:
#from sqlalchemy import *
from sqlalchemy import create_engine, Table, Column, Integer, String, DateTime, Float, MetaData
from sqlalchemy.engine import create_engine
from sqlalchemy.schema import *
from pybigquery.api import ApiClient
我的联系方式:
# Database parameter
host = "127.0.0.1"
user = "someUser"
passwd = "somePassword"
database = "ucb-pvapp"
# Database connection
db=pymysql.connect(
host=host,
user=user,
passwd=passwd,
db=database,
autocommit=True)
engine = create_engine(f'mysql+pymysql://{user}:{passwd}@{host}/{database}')
cursor=db.cursor()
sqlAlchemy 和 pymysql 已安装。
使用Ubuntu 20.04、python 3.8.5和sqlalchemy版本1.3.12。 完整回溯:
Traceback (most recent call last):
File "pv.py", line 131, in <module>
engine = create_engine(f'mysql+pymysql://{user}:{passwd}@{host}/{database}')
File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/engine/__init__.py", line 500, in create_engine
return strategy.create(*args, **kwargs)
File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/engine/strategies.py", line 61, in create
entrypoint = u._get_entrypoint()
File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/engine/url.py", line 172, in _get_entrypoint
cls = registry.load(name)
File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/util/langhelpers.py", line 268, in load
raise exc.NoSuchModuleError(
sqlalchemy.exc.NoSuchModuleError: Can't load plugin: sqlalchemy.dialects:mysql.pymysql
删除
pymysql
并重新安装即可解决问题。
您好,我也遇到了同样的问题,我尝试卸载 pymysql 并重新安装,但没有成功。然而,添加一个简单的
import pymysql
语句解决了我的问题。
您确定需要这样做吗
from sqlalchemy import *
?
您需要更具体:
我在连接数据库时也遇到问题,但是在使用最近的
langchain
导入上述库时,我能够连接。
我正在使用 langchain 连接到我的本地数据库。
MySql
from langchain.utilities import SQLDatabase
cs = "mysql+pymysql://root:admin@localhost/your_database_name"
db_engine = create_engine(cs)
db = SQLDatabase(db_engine)
print(db.get_table_names())