I have project directory named Project, and project directory includes python files and html files et al., and want to deploy in the AWS ec2 ubuntu sever.when I run in the local is ok.
when run "flask run" under the Project directory, there is error in the ubuntu terminal.
flask run
* Serving Flask app 'project' (lazy loading)
* Environment: development
* Debug mode: on
Usage: flask run [OPTIONS]
Try 'flask run --help' for help.
Error: While importing 'project', an ImportError was raised
I have set a .flaskenv file as following:
FLASK_APP=project
FLASK_ENV=development
Did you installed your dependencies on your remote server? If yes, try installing your app as a module.
Given a the following directory structure:
/yourapplication
/yourApplicationMainFolder
__init__.py
/static
style.css
/templates
layout.html
index.html
login.html
...
Create a setup.py file on /yourapplication/setup.py with:
from setuptools import setup
setup(
name='yourApplicationMainFolder',
packages=['yourApplicationMainFolder'],
include_package_data=True,
install_requires=[
'flask',
],)
Install with pip:
pip install -e .
If that did not work, comment out all your imports in the main script and inspect one by one to see which one is the problem.
I have solved it, reinstall all libraries again.
To future readers: something that might not be obvious is you can get more details on the import error by doing the following:
__init__.py file__init__.py file and let flask update at run timeYou should now get more detailed information in the browser as to which line is causing the import error along with a traceback.