- A+
在过去的几天里,它一直运行良好。但是今天,我正在尝试解决一些编码问题,但它突然停止工作。我将代码恢复为以前的样子,但是由于某种原因,错误仍然存在。 (可悲的是编码问题也是如此。)
我在Python 3.6.2和Anaconda上使用MySQLdb和MySQL。我知道MySQLdb与Python 3和Anaconda不兼容。但是,我不想使用Python 2或其他驱动程序。
我已经通过安装mysqlclient
来解决此问题,并且能够在Qt控制台中执行import MySQLdb
。我还能够在30分钟前使用下面的代码创建一个引擎。
from sqlalchemy import create_engine
engine = create_engine('mysql://user:pass@localhost:3306/db?charset=utf8')
我用远程仓库中的代码检查了我的代码,以确保没有错误。完全一样但是现在我遇到了以下错误:
NoSuchModuleError: Can't load plugin: sqlalchemy.dialects:mysql
考虑到我俩都有,这似乎很奇怪。当我使用%run myscript.py
在Qt控制台中运行脚本时,会看到此错误。从昨天开始,我一直没有任何问题。
我没有使用任何虚拟环境,因为我发现很难在Windows和Anaconda上管理它们。在运行脚本之前,我还检查了MySQLdb
是否可在控制台中导入。因此,我知道模块已正确安装。
我试图弄清楚发生了什么,在调查中发现我缺少了sqlalchemy.connectors
模块,但是我不确定这是否确实是一个问题,因为我在网上找不到任何类似的问题。这是我得到此错误的方法:
from sqlalchemy.dialects import mysql
ModuleNotFoundError: No module named 'sqlalchemy.connectors'
有人知道这个问题是什么吗?这实在令人沮丧,因为这似乎完全出乎意料:/
**我刚刚测试了其他驱动程序是否正常工作(即pymysql
),但是没有。我认为这是因为sqlalchemy
拒绝使用该方言,而与驱动程序无关。
编辑:要重现(至少目前在我的机器上),我只需要2行。
from sqlalchemy import create_engine
engine = create_engine('mysql://user:pass@localhost:3306/db')
EDIT2:我将其确定为Anaconda问题,但是我仍然不确定原因是什么。
- 我的微信
- 这是我的微信扫一扫
- 我的微信公众号
- 我的微信公众号扫一扫