Import Error: 没有名为 MySQLdb 的模块

我参考以下教程,使我的网络应用程序的登录页面。 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。我的目录结构与教程中解释的一样。该模块已成功安装在我的系统,但我仍然得到这个错误。

请救救我,是什么导致了这一切。

277531 次浏览

如果在编译二进制扩展时遇到问题,或者在无法编译的平台上遇到问题,可以尝试使用纯 Python PyMySQL绑定。

简单地 pip install pymysql并切换您的 SQLAlchemy URI 以如下方式开始:

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

有一些 其他司机你也可以试试。

或者试试这个:

apt-get install python-mysqldb

我在研究 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

我的问题是:

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

以及我的决心:

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

一开始,我只是安装了 MySQL-python,但问题仍然存在。所以我认为如果这个问题发生了,你也应该考虑 mysql-devel。 希望这个能帮上忙。

你可以试试

pip install mysqlclient

根据我的经验,这也取决于 Python 版本。

如果你正在使用 Python 3,@DazWorrall 的回答对我来说很好用。

但是,如果您正在使用 Python2,您应该

sudo pip install mysql-python

它可以安装‘ MySQLdb’模块,而无需更改 SQLAlchemyURI。

因此,我花了大约5个小时,试图找出如何处理这个问题时,试图运行

./manage.py makemigrations

有了 Ubuntu Server LTS 16.1,一个完整的 LAMP 栈,Apache2 MySql 5.7 PHP 7 Python 3和 Django 1.10.2,我真的很难找到一个好的答案。事实上,我仍然不满意,但唯一的解决办法,为我是这样..。

sudo apt-get install build-essential python-dev libapache2-mod-wsgi-py3 libmysqlclient-dev

然后(从虚拟环境内部)

pip install mysqlclient

当我试图建立一个新的 Web 服务器时,我真的不喜欢使用 dev install,但不幸的是,这种配置是我能够采用的唯一最舒适的方法。

虽然 @ Edward van Kuik回答是正确的,但它没有考虑到 与 viralenv v1.7及以上版本有关的问题

尤其是在 Ubuntu 上通过 apt安装 python-mysqldb时,把它放在 /usr/lib/pythonX.Y/dist-packages下面,但是这个路径默认情况下不包含在 viralenv 的 sys.path中。

因此,来解决这个问题应该通过运行以下命令来创建带有系统包的 viralenv:

virtualenv --system-site-packages .venv

有很多与权限相关的错误,你可以试试这个:

xcode-select --install
yum install MySQL-python.x86_64

对我有用。

在 ubuntu20中,你可以试试这个:

sudo apt-get install libmysqlclient-dev
sudo apt-get install gcc
pip install mysqlclient

Sudo apt-get install python-mysqldb

使用 python3的 Ubuntu 20.04

 sudo apt-get install python3-mysqldb

默认情况下,这对我有用

创建一个 sqlite 引擎实例

Engine = create _ engine (‘ mysql://username: password@your _ host/your _ dbname’)

或者

pip install pymysql

创建一个 sqlite 引擎实例

Create _ engine (‘ mysql://..。

我是这么做的:

首先,安装一个 python 包: pip3 install PyMySQL

然后将以下代码行添加到项目中:

import pymysql
pymysql.install_as_MySQLdb()

这应该可以解决你的问题了,下面一个是可选的,对于任何使用 SqlAlchemy 连接到 mysql 服务器的人来说:

更换 engine = create_engine("mysql://YOURMYSQLURL") 致: engine = create_engine("mysql+pymysql://YOURMYSQLURL")

在构建 python flask 电子商务网络应用程序时,我遇到过这种类型的错误

ModuleNotFoundError: 没有名为‘ MySQLdb’的模块?

我托盘看到的 Python 版本安装在我的窗口10

是蟒蛇3.10

因此 MYSQL-PYTHON 可以与 python 3.8的其他版本兼容

我删除了 python 3.10并安装了 python 3.8版本

一切都会好起来的!

巨蟒,版本

3.8

Pip 版本

Python 3.8

安装连接器

Pip 安装 MYSQL-PYTHON

成功安装

我在安装 mySQL 连接器时遇到了同样的问题并解决了

pip install mysqlclient

更多详情-> SQLAlchemy 正式文件