I am new to Flask. I have started small project using python==3.10, Flask==2.3.3, flask-shell==0.1.8, flask-sqlalchemy==3.1.1.\ My directory: ├── app │ ├── config.py │ ├── service │ │ └── db │ │ └── models.py │ └── wsgi.py ├── .flaskenv ├── docker-compose.yaml ├── poetry.lock └── pyproject.toml wsgi.py def create_app() -> Flask: app = Flask(__name__) app.config.from_object(DevelopmentConfig()) db.init_app(app) with app.app_context(): db.create_all() swagger = Swagger(app) return app .flaskenv FLASK_APP="app/wsgi:create_app" FLASK_ENV="development" When I try to connect to flask shell (.venv) dverh@LAPTOP-FUCJJ30R:/mnt/c/Users/dverh/spbu-practice-web$ flask shell I get an error: Traceback (most recent call last): File "/mnt/c/Users/dverh/spbu-practice-web/.venv/bin/flask", line 8, in <module> sys.exit(main()) File "/mnt/c/Users/dverh/spbu-practice-web/.venv/lib/python3.10/site-packages/flask/cli.py", line 1063, in main cli.main() File "/mnt/c/Users/dverh/spbu-practice-web/.venv/lib/python3.10/site-packages/click/core.py", line 1078, in main rv = self.invoke(ctx) File "/mnt/c/Users/dverh/spbu-practice-web/.venv/lib/python3.10/site-packages/click/core.py", line 1688, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "/mnt/c/Users/dverh/spbu-practice-web/.venv/lib/python3.10/site-packages/click/core.py", line 1434, in invoke return ctx.invoke(self.callback, **ctx.params) File "/mnt/c/Users/dverh/spbu-practice-web/.venv/lib/python3.10/site-packages/click/core.py", line 783, in invoke return __callback(*args, **kwargs) File "/mnt/c/Users/dverh/spbu-practice-web/.venv/lib/python3.10/site-packages/click/decorators.py", line 33, in new_func return f(get_current_context(), *args, **kwargs) File "/mnt/c/Users/dverh/spbu-practice-web/.venv/lib/python3.10/site-packages/flask/cli.py", line 357, in decorator return __ctx.invoke(f, *args, **kwargs) File "/mnt/c/Users/dverh/spbu-practice-web/.venv/lib/python3.10/site-packages/click/core.py", line 783, in invoke return __callback(*args, **kwargs) File "/mnt/c/Users/dverh/spbu-practice-web/.venv/lib/python3.10/site-packages/flask_shell.py", line 79, in shell_command app.env, AttributeError: 'Flask' object has no attribute 'env' But I can't understand what is attribute 'env' and if what I've done is right. When i downgraded flask-shell to 0.1.3 (5 years apart), i was able to connect. I find difference between flask_shell.py 0.1.3 from flask.globals import _app_ctx_stack app = _app_ctx_stack.top.app banner = 'Python %s on %s\nApp: %s%s\nInstance: %s' % ( sys.version, sys.platform, app.import_name, app.debug and ' [debug]' or '', app.instance_path, ) and flask_shell.py 0.1.8 from flask.globals import _app_ctx_stack app = _app_ctx_stack.top.app banner = 'Python %s on %s\nApp: %s%s\nInstance: %s' % ( sys.version, sys.platform, app.import_name, app.env, app.instance_path, ) As I understood the FLASK_ENV variable gives us the possibility to control whether to allow DEBUG or not. But then the question is why I have such an error, because I've specified it at .flaskenv Continue reading...