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

6

我正尝试使用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
3个回答

3
好的,只需简单地删除 "pymysql" 并重新安装即可解决问题 - 不管它是什么。有时候就是这么简单。

我最终不得不清除我的虚拟环境并重新安装所有的包。Python 3.6.8,pymysql == 1.0.2,sqlalchemy == 1.3.24。 - dthor

2

你好,我也遇到了同样的问题。我尝试卸载并重新安装pymysql,但这并没有解决问题。然而,添加一个简单的import pymysql语句就解决了我的问题。


1

你确定需要执行 from sqlalchemy import * 吗?你需要更具体的说明:

  • 你使用的是哪个版本的 Python 和 SQLAlchemy?

不,我不是,只是因为在另一篇帖子中提到了它,所以尝试了一下。 我正在使用Python 3.8.5和SQLAlchemy版本1.3.12。目前我仍然像以前一样使用from sqlalchemy import create_engine, Table, Column, Integer, String, DateTime, Float, MetaData - why me

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接