导入错误:找不到名为MySQLdb的模块

173 投票
16 回答
303808 浏览
提问于 2025-04-17 21:18

我正在参考以下教程来为我的网页应用程序制作一个登录页面。http://code.tutsplus.com/tutorials/intro-to-flask-signing-in-and-out--net-29982

我在数据库方面遇到了问题。执行时我得到了一个

ImportError: No module named MySQLdb

的错误信息。

http://127.0.0.1:5000/testdb

我尝试了所有可能的方法来安装 Python 的 MySQL,包括教程中提到的方法、easy_install 和 sudo apt-get install。

我在我的虚拟环境中安装了 MySQL。我的目录结构和教程中描述的一样。这个模块在我的系统中成功安装了,但我仍然遇到这个错误。

请帮帮我。可能是什么原因呢?

16 个回答

16

我在使用SQLAlchemy的时候遇到了一个问题。SQLAlchemy默认使用的MySQL方言是 mysql+mysqldb

engine = create_engine('mysql+mysqldb://scott:tiger@localhost/foo')

当我执行上面的命令时,出现了"No module named MySQLdb"的错误。为了解决这个问题,我安装了mysql-python模块,问题就解决了。

sudo pip install mysql-python
19

我的问题是:

return __import__('MySQLdb')
ImportError: No module named MySQLdb

我的解决办法是:

pip install MySQL-python
yum install mysql-devel.x86_64

一开始,我只是安装了 MySQL-python,但问题还是存在。所以我觉得如果遇到这个问题,你也应该考虑安装 mysql-devel。希望这能帮到你。

43

你可以试试这个

pip install mysqlclient
104

或者试试这个:

apt-get install python-mysqldb
385

如果你在编译二进制扩展时遇到问题,或者在一个无法编译的环境中,你可以尝试使用纯Python的PyMySQL库。

只需要运行 pip install pymysql,然后把你的SQLAlchemy连接字符串改成这样开头:

SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://.....'

你还可以尝试一些其他驱动程序

撰写回答