I'm developing a REST API, using flask and flask-restful. I am currently having problems with flask-cli, since in the company environment I can not run with the application. What may be the problem?
In the enterprise, we use conda environments, for python 3 applications. Currently the environment for api consists of python 3.6.8 with flask 1.0.2 and flask-restful 0.37, running on a CentOS 7. Even recreating the environment by requirements or enviroment.yml of the conda, I could not run the application, different from my personal machine that is an ubuntu 18.04, with miniconda3 and env python 3.6.8, with the same flask packages and I can test without problems.
Error:
File "/home/user/opt/miniconda3/envs/comands/lib/python3.6/site-packages/flask/cli.py", line 235, in locate_app __import__(module_name) ModuleNotFoundError: No module named 'main' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/user/opt/miniconda3/envs/comands/lib/python3.6/site-packages/flask/cli.py", line 325, in __call__ self._flush_bg_loading_exception() File "/home/user/opt/miniconda3/envs/comands/lib/python3.6/site-packages/flask/cli.py", line 313, in _flush_bg_loading_exception reraise(*exc_info) File "/home/user/opt/miniconda3/envs/comands/lib/python3.6/site-packages/flask/_compat.py", line 35, in reraise raise value File "/home/user/opt/miniconda3/envs/comands/lib/python3.6/site-packages/flask/cli.py", line 302, in _load_app self._load_unlocked() File "/home/user/opt/miniconda3/envs/comands/lib/python3.6/site-packages/flask/cli.py", line 317, in _load_unlocked self._app = rv = self.loader() File "/home/user/opt/miniconda3/envs/comands/lib/python3.6/site-packages/flask/cli.py", line 372, in load_app app = locate_app(self, import_name, name) File "/home/user/opt/miniconda3/envs/comands/lib/python3.6/site-packages/flask/cli.py", line 246, in locate_app 'Could not import "{name}".'.format(name=module_name) flask.cli.NoAppException: Could not import "main". Script Main:
from app import create_app, db from flask_migrate import Migrate app = create_app('development') Migrate(app,db) @app.shell_context_processor def shell_context(): return dict( app = app, db=db ) Script init.py:
from flask_restful import Api from flask import Flask from flask_sqlalchemy import SQLAlchemy from config import config db = SQLAlchemy() def create_app(config_name): app = Flask(__name__) app.config.from_object(config[config_name]) api=Api(app, prefix="/api/v1") db.init_app(app) from app.resources.catcherDicts import Catcher api.add_resource(Catcher, "/catcher") return app I wan to be able to run the tests and run the application in the company environment. Because even exporting the application path with export FLASK_APP = main.py command flask run cannot run the application.