Python3无法加载插件:sqlalchemy.dialects:mysql.pymysql

why*_* me 7 python sqlalchemy

我正在尝试使用 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
Run Code Online (Sandbox Code Playgroud)

我的连接:

# 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()
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)

why*_* me 3

好吧,只要简单地删除“pymysql”并再次安装它就解决了问题 - 不管它是什么。有时就是这么容易。