ImportError: No module named MySQLdb
我正在参考以下教程为我的Web应用程序创建登录页面。http://code.tutsplus.com/tutorials/intro-to-flask-signing-in-and-out--net-29982
我对数据库有问题。我得到了一个
1 | ImportError: No module named MySQLdb |
当我执行时
1 | http://127.0.0.1:5000/testdb |
我已经尝试了所有可能的方法来安装python mysql,本教程中提到的方法,easy-install,sudo-apt-get-install。
我已经在我的虚拟环境中安装了mysql。我的目录结构与教程中解释的相同。模块已成功安装到系统中,但我仍然收到此错误。
请帮忙。可能是什么导致了这个。
如果在编译二进制扩展时遇到问题,或者在不能编译的平台上,可以尝试使用纯python
只需
1 | SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://.....' |
还有一些其他的司机你也可以试试。
或者试试这个:
1 | apt-get install python-mysqldb |
我的问题是:
1 2 | return __import__('MySQLdb') ImportError: No module named MySQLdb |
我的决心是:
1 2 | pip install MySQL-python yum install mysql-devel.x86_64 |
一开始,我只是安装了mysql python,但这个问题仍然存在。所以我认为如果发生这个问题,你也应该考虑mysql-devel。希望这有帮助。
我在研究sqlacalchemy时遇到了这个问题。sqlAlchemy for mysql使用的默认方言是
1 | engine = create_engine('mysql+mysqldb://scott:tiger@localhost/foo') |
执行上面的命令时,我得到了"
1 | sudo pip install mysql-python |
你可以试试吗?
1 | pip install mysqlclient |
根据我的经验,这也取决于Python版本。
如果您使用的是python 3,@dazworrall答案对我来说很有效。
但是,如果您使用的是python 2,那么应该
1 | sudo pip install mysql-python |
它将安装"mysqldb"模块,而不必更改sqlachemy uri。
所以我花了大约5个小时试图解决这个问题
1 | ./manage.py makemigrations |
有了Ubuntu服务器LTS 16.1,一个完整的灯栈,Apache2 MySQL5.7php 7 python 3和Django1.10.2,我真的很难找到一个好的答案。事实上,我还是不满意,但唯一对我有用的解决办法是…
1 | sudo apt-get install build-essential python-dev libapache2-mod-wsgi-py3 libmysqlclient-dev |
然后(从虚拟环境内部)
1 | pip install mysqlclient |
我真的不喜欢在我试图设置新的Web服务器时使用dev安装,但不幸的是,这个配置是我可以采用的唯一最舒适的方式。
虽然@edward van kuik的答案是正确的,但它没有考虑到virtualenv v1.7及更高版本的问题。
尤其是在Ubuntu上通过
因此,要解决这个问题,您应该通过运行以下类似的程序,使用系统包创建virtualenv:
1 | yum install MySQL-python.x86_64 |
为我工作。
有那么多与权限相关的错误。你可以试试这个:
1 | xcode-select --install |