我指的是以下教程,为我的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 :(得分:204)
如果您在编译二进制扩展时遇到问题,或者在您无法解决的平台上遇到问题,可以尝试使用纯python PyMySQL
绑定。
只需pip install pymysql
并将您的SQLAlchemy URI切换为如下所示:
SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://.....'
您也可以尝试一些other drivers。
答案 1 :(得分:16)
我的问题是:
return __import__('MySQLdb')
ImportError: No module named MySQLdb
和我的决议:
pip install MySQL-python
yum install mysql-devel.x86_64
一开始,我刚刚安装了MySQL-python,但问题仍然存在。所以我认为如果这个问题发生了,你也应该考虑mysql-devel。 希望这会有所帮助。
答案 2 :(得分:13)
我在使用SQLAlchemy时遇到了这个问题。 SQLAlchemy for MySQL使用的默认方言是mysql+mysqldb
。
engine = create_engine('mysql+mysqldb://scott:tiger@localhost/foo')
我得到了" No module named MySQLdb
"执行上述命令时出错。为了解决这个问题,我安装了mysql-python
模块并解决了问题。
sudo pip install mysql-python
答案 3 :(得分:12)
你可以试试吗
--net-alias=ALIAS
答案 4 :(得分:7)
根据我的经验,这取决于Python版本。
如果您使用的是Python 3,@ DazWorrall的答案对我来说很好。
但是,如果您使用的是Python 2,则应该
sudo pip install mysql-python
将安装' MySQLdb'模块,而不必更改SQLAlchemy URI。
答案 5 :(得分:4)
所以我花了大约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安装,但不幸的是,这种配置是我可以采取的唯一最舒适的路径。
答案 6 :(得分:3)
虽然@Edward van Kuik' answer是正确的,但它并未考虑issue with virtualenv v1.7 and above。
特别是在Ubuntu上通过python-mysqldb
安装apt
将其置于/usr/lib/pythonX.Y/dist-packages
下,但默认情况下此路径并未包含在virtualenv sys.path
中}。
所以to resolve this,你应该通过运行类似的东西来创建你的virtualenv系统包:
virtualenv --system-site-packages .venv
答案 7 :(得分:0)
有很多与权限相关的错误,有些错误。你可能想试试这个:
xcode-select --install
答案 8 :(得分:0)
yum install MySQL-python.x86_64
为我工作。
答案 9 :(得分:0)
在ubuntu 20中,您可以尝试以下方法:
sudo apt-get install libmysqlclient-dev
sudo apt-get install gcc
pip install mysqlclient
答案 10 :(得分:0)
sudo apt-get install python-mysqldb