After finishing of one of my Flask projects, I uploaded it on github just like everybody else. after a 2-3 months period I downloaded the entire githube repository on another machine to run it. However, the app is not working because the packages are not found giving the following message
ModuleNotFoundError: No module named 'Flask'
So I ended up downloading all packages starting from Flask, SQLalchemy,..etc! but I got stuck with MySQLdb
:
(MYAPPENV) C:\Users\hp\myapp>python run.py
Traceback (most recent call last):
File "run.py", line 1, in <module>
from app import app
File "C:\Users\hp\myapp\app\__init__.py", line 4, in <module>
from instance.config import engine
File "C:\Users\hp\myapp\instance\config.py", line 52, in <module>
engine = create_engine("mysql://root:root@localhost/MYAPPDB")
File "C:\Users\hp\AppData\Local\Programs\Python\Python37-32\lib\site-packages\sqlalchemy\engine\__init__.py", line 425, in create_engine
return strategy.create(*args, **kwargs)
File "C:\Users\hp\AppData\Local\Programs\Python\Python37-32\lib\site-packages\sqlalchemy\engine\strategies.py", line 81, in create
dbapi = dialect_cls.dbapi(**dbapi_args)
File "C:\Users\hp\AppData\Local\Programs\Python\Python37-32\lib\site-packages\sqlalchemy\dialects\mysql\mysqldb.py", line 102, in dbapi
return __import__('MySQLdb')
ModuleNotFoundError: No module named 'MySQLdb'
Could anybody please help with this issue? I am using python37 on windows machine. I even tried downloading packages such as mysqlclient,..etc but it didn't work out.
I have the same problem like you. Here is my solution:
Reason: python3.X does not support MySQLdb,so you need to change to pymysql model
Solution: Change the content of import.
1):
2):
3)
4):
5):
You can install
mysqlclient
withpip
try this:
pip3 install mysqlclient
or
pip install mysqlclient
in python2To install
MySQLdb
, providedpip
orpip3
is installed on your machine:I have read that mysqldb is not supported by python3
And it looks like when you are trying to connect to your database you are using mysql db to connect to the database by default!
you need to change it by editing your DATABASE_URI configuration
But before you need to install the connector extension :
with this command :
And according to this documentation you can edit your DATABSE_URI and change the default connector like this :
I hope this will help...