from flask._compat import text_type
ModuleNotFoundError: No module named 'flask._compat’
When using Flask-Script I get an error when importing Manager.
manage.py
from flask_script import Manager
from main import app
manager = Manager(app)
@manager.command
def hello():
print ("hello")
if __name__ == "__main__":
manager.run()
main.py
from flask import Flask
app = Flask(__name__)
Error
(venv) raul@raul-PC:~/Proyectos Python/flask_script$ python3 manage.py hello
Traceback (most recent call last):
File "manage.py", line 1, in <module>
from flask_script import Manager
File "/home/raul/Proyectos Python/flask_script/venv/lib/python3.8/site-packages/flask_script/__init__.py", line 15, in <module>
from flask._compat import text_type
ModuleNotFoundError: No module named 'flask._compat'
Did you update Flask to version 2.0.0 ? Degrade Flask to version 1.1.2 and it’ll work.
EDIT
Instead of using with Flask-Script, you can simply use the below commands :
flask db init to initialize the database
flask db migrate to migrate new changes
flask db upgrade to upgrade and so on.
解决方法(1)
1 - I did installed modules manualy on PyCharm\settings\projet:
myapp\python interpreter by selecting my interpreter and installing
libs missed like Flask itself, flask-migrate and flask-script.2 - On this specific error: from flask._compat import text_type
ModuleNotFoundError: No module named ‘flask._compat’ -It happened because the python searched on Flask._compat directory and
It isn’t there, so I changed like on below : (on
flask_script/init.py)Where:
from ._compat import text_type on original flask-script file
to :
from flask_script._compat import text_type
Then It works !!
# **解释**:
找到
/home/raul/Proyectos Python/flask_script/venv/lib/python3.8/site-packages/flask_script/__init__.py",
修改:
from flask._compat import text_type
为:
from flask_script._compat import text_type
解决方法(2)
将flask从2.0降低到1.1.4
pip install "Flask==1.1.4"