项目场景:

python项目启动时报错,但是mysql相关的驱动都已经安装,mysqlclient、pymysql等

File "/Users/yomi/opt/anaconda3/envs/ticketproject/lib/python3.11/site-packages/sqlalchemy/dialects/mysql/mysqldb.py", line 152, in import_dbapi
    return __import__("MySQLdb")
           ^^^^^^^^^^^^^^^^^^^^^
ModuleNotFoundError: No module named 'MySQLdb'

原因分析:

提示:确认你不是在尝试安装 `MySQLdb`,这个库只兼容 Python 2。 -对于 Python 3,选择 `mysqlclient` 或 `PyMySQL` 作为替代。它们都是与 `MySQLdb` 类似,但兼容 Python 3 的库


解决方案:

提示:在终端中激活你的虚拟环境(如果你使用的是虚拟环境)

使用 `pip` 安装 `mysqlclient` 或 `PyMySQL`:

pip install mysqlclient 

pip install pymysql 

如果你使用的是 `PyMySQL`,而你的代码中存在 `import MySQLdb` 语句,需要将它替换为:

import pymysql

pymysql.install_as_MySQLdb()

 这样可以在未修改大量现有代码的情况下,确保它们可以使用 `PyMySQL` 作为 `MySQLdb` 的替代。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐