python - 模块未找到错误 : No module named 'MySQLdb'

标签 python flask mysql-python

完成我的一个 Flask 项目后,我像其他人一样将其上传到 github 上。 2-3 个月后,我在另一台机器上下载了整个 gitbe 存储库来运行它。但是,该应用程序无法运行,因为未找到提供以下消息的包

ModuleNotFoundError: No module named 'Flask'

所以我最终下载了从 Flask、SQLalchemy 等开始的所有包!但我被 MySQLdb 困住了:

(MYAPPENV) C:\Users\hp\myapp>python run.py
Traceback (most recent call last):
  File "run.py", line 1, in <module>
    from app import app
  File "C:\Users\hp\myapp\app\__init__.py", line 4, in <module>
    from instance.config import engine
  File "C:\Users\hp\myapp\instance\config.py", line 52, in <module>
    engine = create_engine("mysql://root:root@localhost/MYAPPDB")
  File "C:\Users\hp\AppData\Local\Programs\Python\Python37-32\lib\site-packages\sqlalchemy\engine\__init__.py", line 425, in create_engine
return strategy.create(*args, **kwargs)
  File "C:\Users\hp\AppData\Local\Programs\Python\Python37-32\lib\site-packages\sqlalchemy\engine\strategies.py", line 81, in create
dbapi = dialect_cls.dbapi(**dbapi_args)
  File "C:\Users\hp\AppData\Local\Programs\Python\Python37-32\lib\site-packages\sqlalchemy\dialects\mysql\mysqldb.py", line 102, in dbapi
    return __import__('MySQLdb')
ModuleNotFoundError: No module named 'MySQLdb'

有人可以帮忙解决这个问题吗?我在 Windows 机器上使用 python37。我什至尝试下载 mysqlclient 等软件包,但没有成功。

最佳答案

我读到python3不支持mysqldb

看起来当您尝试连接到数据库时,默认情况下您正在使用 mysql db 连接到数据库!

您需要通过编辑 DATABASE_URI 配置来更改它

但在您需要安装连接器扩展之前:

用这个命令:

pip install mysql-connector-python

并根据this documentation您可以像这样编辑您的 DATABASE_URI 并更改默认连接器:

DATABSE_URI='mysql+mysqlconnector://{user}:{password}@{server}/{database}'.format(user='your_user', password='password', server='localhost', database='dname')

我希望这会有所帮助...

关于python - 模块未找到错误 : No module named 'MySQLdb' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53024891/

相关文章:

python - 关于重复键 2 个唯一列

python - 像谷歌街景这样的图像上的对象跟踪

python - 如何检索 Django 中的最后 x 个元素

python - SQLAlchemy - 处理约束失败

apache - Oauth2 登录在 AWS 上超时

python - Mysqldb 和 Python KeyError 处理

python - MySQLdb executemany不添加数据

python - PyQt 程序信号和函数之间的连接不起作用

Python - 属性错误 : '_io.TextIOWrapper' object has no attribute 'append'

python - 在 cloudshell (Google App Engine) 中的何处查找已部署的应用程序文件?