ImportError: No module named MySQLdb
Question:
I am referring the following tutorial to make a login page for my web application.
http://code.tutsplus.com/tutorials/intro-to-flask-signing-in-and-out–net-29982
I am having issue with the database.
I am getting an
ImportError: No module named MySQLdb
when I execute
http://127.0.0.1:5000/testdb
I have tried all possible ways to install python mysql, the one mentioned in the tutorial, easy_install, sudo apt-get install.
I have installed mysql in my virtual env. My directory structure is just the same as whats explained in the tutorial. The module is sucessfully installed in my system and still I am getting this error.
Please help. What could be causing this.
Answers:
If you’re having issues compiling the binary extension, or on a platform where you cant, you can try using the pure python PyMySQL
bindings.
Simply pip install pymysql
and switch your SQLAlchemy URI to start like this:
SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://.....'
There are some other drivers you could also try.
Or try this:
apt-get install python-mysqldb
I got this issue when I was working on SQLAlchemy. The default dialect used by SQLAlchemy for MySQL is mysql+mysqldb
.
engine = create_engine('mysql+mysqldb://scott:tiger@localhost/foo')
I got the “No module named MySQLdb
” error when the above command was executed. To fix it I installed the mysql-python
module and the issue was fixed.
sudo pip install mysql-python
My issue is :
return __import__('MySQLdb')
ImportError: No module named MySQLdb
and my resolution :
pip install MySQL-python
yum install mysql-devel.x86_64
at the very beginning, i just installed MySQL-python, but the issue still existed. So i think if this issue happened, you should also take mysql-devel into consideration.
Hope this helps.
may you try
pip install mysqlclient
It depends on Python Version as well in my experience.
If you are using Python 3, @DazWorrall answer worked fine for me.
However, if you are using Python 2, you should
sudo pip install mysql-python
which would install ‘MySQLdb’ module without having to change the SQLAlchemy URI.
So I spent about 5 hours trying to figure out how to deal with this issue when trying to run
./manage.py makemigrations
With Ubuntu Server LTS 16.1, a full LAMP stack, Apache2 MySql 5.7 PHP 7 Python 3 and Django 1.10.2 I really struggled to find a good answer to this. In fact, I am still not satisfied, but the ONLY solution that worked for me is this…
sudo apt-get install build-essential python-dev libapache2-mod-wsgi-py3 libmysqlclient-dev
followed by (from inside the virtual environment)
pip install mysqlclient
I really dislike having to use dev installs when I am trying to set up a new web server, but unfortunately this configuration was the only mostly comfortable path I could take.
While @Edward van Kuik‘s answer is correct, it doesn’t take into account an issue with virtualenv v1.7 and above.
In particular installing python-mysqldb
via apt
on Ubuntu put it under /usr/lib/pythonX.Y/dist-packages
, but this path isn’t included by default in the virtualenv’s sys.path
.
So to resolve this, you should create your virtualenv with system packages by running something like:
virtualenv --system-site-packages .venv
Got so many errors related to permissions and what not. You may wanna try this :
xcode-select --install
yum install MySQL-python.x86_64
worked for me.
In ubuntu 20 , you can try this :
sudo apt-get install libmysqlclient-dev
sudo apt-get install gcc
pip install mysqlclient
sudo apt-get install python-mysqldb
for Ubuntu 20.04 with python3
sudo apt-get install python3-mysqldb
by default, this work for me
Create a sqlite engine instance
engine = create_engine(‘mysql://username:password@your_host/your_dbname’)
OR
pip install pymysql
Create a sqlite engine instance
create_engine(‘mysql://…
Here’s what I did:
First, install a python package:
pip3 install PyMySQL
Then add the following lines of code to your Project:
import pymysql
pymysql.install_as_MySQLdb()
this should fix your issue by now, the following one is optional and for anyone who is using SqlAlchemy to connect to mysql server:
Replace engine = create_engine("mysql://YOURMYSQLURL")
to:
engine = create_engine("mysql+pymysql://YOURMYSQLURL")
I have faced this type of error when I tray to build python flask eccomerce web-application
ModuleNotFoundError: No module named ‘MySQLdb’?
I tray to see the version of python installed on my window 10
it was python 3.10
so MYSQL-PYTHON is compatable with the other version of python 3.8
I delet python 3.10 and I nstalled the version python 3.8
It become ok!
python –version
3.8
pip –version
python 3.8
so install the connector
pip install MYSQL-PYTHON
successfuly installed
I have the same issue the install mySQL connector and resolved
pip install mysqlclient
more details ->
SQLAlchemy official docs
I am referring the following tutorial to make a login page for my web application.
http://code.tutsplus.com/tutorials/intro-to-flask-signing-in-and-out–net-29982
I am having issue with the database.
I am getting an
ImportError: No module named MySQLdb
when I execute
http://127.0.0.1:5000/testdb
I have tried all possible ways to install python mysql, the one mentioned in the tutorial, easy_install, sudo apt-get install.
I have installed mysql in my virtual env. My directory structure is just the same as whats explained in the tutorial. The module is sucessfully installed in my system and still I am getting this error.
Please help. What could be causing this.
If you’re having issues compiling the binary extension, or on a platform where you cant, you can try using the pure python PyMySQL
bindings.
Simply pip install pymysql
and switch your SQLAlchemy URI to start like this:
SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://.....'
There are some other drivers you could also try.
Or try this:
apt-get install python-mysqldb
I got this issue when I was working on SQLAlchemy. The default dialect used by SQLAlchemy for MySQL is mysql+mysqldb
.
engine = create_engine('mysql+mysqldb://scott:tiger@localhost/foo')
I got the “No module named MySQLdb
” error when the above command was executed. To fix it I installed the mysql-python
module and the issue was fixed.
sudo pip install mysql-python
My issue is :
return __import__('MySQLdb')
ImportError: No module named MySQLdb
and my resolution :
pip install MySQL-python
yum install mysql-devel.x86_64
at the very beginning, i just installed MySQL-python, but the issue still existed. So i think if this issue happened, you should also take mysql-devel into consideration.
Hope this helps.
may you try
pip install mysqlclient
It depends on Python Version as well in my experience.
If you are using Python 3, @DazWorrall answer worked fine for me.
However, if you are using Python 2, you should
sudo pip install mysql-python
which would install ‘MySQLdb’ module without having to change the SQLAlchemy URI.
So I spent about 5 hours trying to figure out how to deal with this issue when trying to run
./manage.py makemigrations
With Ubuntu Server LTS 16.1, a full LAMP stack, Apache2 MySql 5.7 PHP 7 Python 3 and Django 1.10.2 I really struggled to find a good answer to this. In fact, I am still not satisfied, but the ONLY solution that worked for me is this…
sudo apt-get install build-essential python-dev libapache2-mod-wsgi-py3 libmysqlclient-dev
followed by (from inside the virtual environment)
pip install mysqlclient
I really dislike having to use dev installs when I am trying to set up a new web server, but unfortunately this configuration was the only mostly comfortable path I could take.
While @Edward van Kuik‘s answer is correct, it doesn’t take into account an issue with virtualenv v1.7 and above.
In particular installing python-mysqldb
via apt
on Ubuntu put it under /usr/lib/pythonX.Y/dist-packages
, but this path isn’t included by default in the virtualenv’s sys.path
.
So to resolve this, you should create your virtualenv with system packages by running something like:
virtualenv --system-site-packages .venv
Got so many errors related to permissions and what not. You may wanna try this :
xcode-select --install
yum install MySQL-python.x86_64
worked for me.
In ubuntu 20 , you can try this :
sudo apt-get install libmysqlclient-dev
sudo apt-get install gcc
pip install mysqlclient
sudo apt-get install python-mysqldb
for Ubuntu 20.04 with python3
sudo apt-get install python3-mysqldb
by default, this work for me
Create a sqlite engine instance
engine = create_engine(‘mysql://username:password@your_host/your_dbname’)
OR
pip install pymysql
Create a sqlite engine instance
create_engine(‘mysql://…
Here’s what I did:
First, install a python package:
pip3 install PyMySQL
Then add the following lines of code to your Project:
import pymysql
pymysql.install_as_MySQLdb()
this should fix your issue by now, the following one is optional and for anyone who is using SqlAlchemy to connect to mysql server:
Replace engine = create_engine("mysql://YOURMYSQLURL")
to:
engine = create_engine("mysql+pymysql://YOURMYSQLURL")
I have faced this type of error when I tray to build python flask eccomerce web-application
ModuleNotFoundError: No module named ‘MySQLdb’?
I tray to see the version of python installed on my window 10
it was python 3.10
so MYSQL-PYTHON is compatable with the other version of python 3.8
I delet python 3.10 and I nstalled the version python 3.8
It become ok!
python –version
3.8
pip –version
python 3.8
so install the connector
pip install MYSQL-PYTHON
successfuly installed
I have the same issue the install mySQL connector and resolved
pip install mysqlclient
more details ->
SQLAlchemy official docs