问题:ImportError:没有名为MySQLdb的模块
我指的是以下教程来为我的Web应用程序创建登录页面。 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。我的目录结构与本教程中说明的目录结构相同。该模块已成功安装在我的系统中,但仍然出现此错误。
请帮忙。是什么原因造成的。
回答 0
如果您在编译二进制扩展名时遇到问题,或者在无法扩展的平台上,则可以尝试使用纯python PyMySQL
绑定。
只需pip install pymysql
切换您的SQLAlchemy URI即可,如下所示:
SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://.....'
回答 1
或尝试以下方法:
apt-get install python-mysqldb
回答 2
你可以尝试
pip install mysqlclient
回答 3
我的问题是:
return __import__('MySQLdb')
ImportError: No module named MySQLdb
和我的决议:
pip install MySQL-python
yum install mysql-devel.x86_64
在开始的时候,我刚刚安装了MySQL-python,但是问题仍然存在。因此,我认为如果发生此问题,您还应该考虑mysql-devel。希望这可以帮助。
回答 4
在研究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
回答 5
根据我的经验,它也取决于Python版本。
如果您使用的是Python 3,则@DazWorrall答案对我来说效果很好。
但是,如果您使用的是Python 2,则应该
sudo pip install mysql-python
这将安装“ MySQLdb”模块,而无需更改SQLAlchemy URI。
回答 6
所以我花了大约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,但是不幸的是,这种配置是我唯一可以采用的舒适方式。
回答 7
尽管@Edward van Kuik的答案是正确的,但并未考虑virtualenv v1.7及更高版本的问题。
特别是在Ubuntu 上python-mysqldb
通过via apt
进行安装时,将其放在下/usr/lib/pythonX.Y/dist-packages
,但virtualenv的默认情况下不包含此路径。sys.path
。
因此,要解决此问题,您应该通过运行类似以下内容的系统包来创建您的virtualenv:
virtualenv --system-site-packages .venv
回答 8
有太多与权限有关的错误,什么也没有。您可能想试试这个:
xcode-select --install
回答 9
yum install MySQL-python.x86_64
为我工作。
回答 10
在ubuntu 20中,您可以尝试以下操作:
sudo apt-get install libmysqlclient-dev
sudo apt-get install gcc
pip install mysqlclient