python3下连接MySQL数据库报错:ModuleNotFoundError: No module named 'MySQLdb'
- 代码 —— 连接MySQL数据库(python3)
- 报错信息 —— ModuleNotFoundError: No module named 'MySQLdb'
- 解决方案 —— 安装pymysql并将数据库连接改为 mysql+pymysql
代码 —— 连接MySQL数据库(python3)
from sqlalchemy import create_engine
engine = create_engine('mysql://username:password@host:port/database') # 修改相应数据库信息
报错信息 —— ModuleNotFoundError: No module named ‘MySQLdb’
---------------------------------------------------------------------------
ModuleNotFoundError Traceback (most recent call last)
<ipython-input-22-b1595f1aae2e> in <module>
1 from sqlalchemy import create_engine
2
----> 3 engine = create_engine("mysql://root:mysql@10.1.40.150:3386/jmssj")
D:\software\Anaconda3\lib\site-packages\sqlalchemy\engine\__init__.py in create_engine(*args, **kwargs)
477 strategy = kwargs.pop("strategy", default_strategy)
478 strategy = strategies.strategies[strategy]
--> 479 return strategy.create(*args, **kwargs)
480
481
D:\software\Anaconda3\lib\site-packages\sqlalchemy\engine\strategies.py in create(self, name_or_url, **kwargs)
85 if k in kwargs:
86 dbapi_args[k] = pop_kwarg(k)
---> 87 dbapi = dialect_cls.dbapi(**dbapi_args)
88
89 dialect_args["dbapi"] = dbapi
D:\software\Anaconda3\lib\site-packages\sqlalchemy\dialects\mysql\mysqldb.py in dbapi(cls)
116 @classmethod
117 def dbapi(cls):
--> 118 return __import__("MySQLdb")
119
120 def on_connect(self):
ModuleNotFoundError: No module named 'MySQLdb'
解决方案 —— 安装pymysql并将数据库连接改为 mysql+pymysql
1)安装pymysql
conda install pymysql # 我是使用Anaconda安装的Python
2)将数据库连接改为 mysql+pymysql
engine = create_engine('mysql+pymysql://username:password@host:port/database') # 修改相应数据库信息
共有条评论 网友评论