[英]ImportError: No module named 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。 我的目录结构与教程中解释的相同。 该模块已成功安装在我的系统中,但我仍然收到此错误。
请帮忙。 这可能是什么原因造成的。
或者试试这个:
apt-get install python-mysqldb
你可以试试
pip install mysqlclient
我的问题是:
return __import__('MySQLdb')
ImportError: No module named MySQLdb
和我的决议:
pip install MySQL-python
yum install mysql-devel.x86_64
一开始,我只是安装了 MySQL-python,但问题仍然存在。 所以我认为如果这个问题发生了,你也应该考虑 mysql-devel 。 希望这可以帮助。
我在研究 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
所以我花了大约 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 服务器时,我真的不喜欢必须使用开发安装,但不幸的是,这种配置是我可以采用的唯一最舒服的路径。
根据我的经验,这也取决于 Python 版本。
如果您使用的是 Python 3,@DazWorrall 的回答对我来说效果很好。
但是,如果您使用的是 Python 2,则应该
sudo pip install mysql-python
这将安装“MySQLdb”模块,而无需更改 SQLAlchemy URI。
在 ubuntu 20 中,你可以试试这个:
sudo apt-get install libmysqlclient-dev
sudo apt-get install gcc
pip install mysqlclient
虽然@Edward van Kuik的回答是正确的,但它没有考虑virtualenv v1.7 及更高版本的问题。
特别是在 Ubuntu 上通过apt
安装python-mysqldb
将其放在/usr/lib/pythonX.Y/dist-packages
下,但默认情况下此路径不包含在 virtualenv 的sys.path
中。
因此,要解决这个问题,您应该通过运行以下命令来使用系统包创建您的 virtualenv:
virtualenv --system-site-packages .venv
yum install MySQL-python.x86_64
为我工作。
对于带有 python3 的 Ubuntu 20.04
sudo apt-get install python3-mysqldb
默认情况下,这对我有用
engine = create_engine('mysql://username:password@your_host/your_dbname')
或者
pip install pymysql
create_engine('mysql://...
有很多与权限相关的错误,什么不是。 你可能想试试这个:
xcode-select --install
sudo apt-get install python-mysqldb
这是我所做的:
首先,安装一个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 eccomerce web-application 时,我遇到了这种类型的错误
ModuleNotFoundError:没有名为“MySQLdb”的模块?
我托盘查看安装在我的窗口 10 上的 python 版本
这是python 3.10
所以 MYSQL-PYTHON 兼容其他版本的 python 3.8
我删除了 python 3.10 并安装了 python 3.8 版本
变好了!
蟒蛇--版本
3.8
点子--版本
蟒蛇3.8
所以安装连接器
点安装 MYSQL-PYTHON
安装成功
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.