Я создал свое первое приложение Flask и столкнулся с проблемой, которую я хочу запустить приложение из командной строки. Я реализовал приложение, используя BluePrints в структуре в конце вопроса.
Запуск из Visual Code работает нормально, но когда я пытаюсь запустить приложение из командной строки, я получаю ошибки ..
run using: (-> in src/koboscraper)
$ export FLASK_APP=app
$ flask run
$
Error: While importing "koboscraper.app", an ImportError was raised:
ModuleNotFoundError: No module named 'config'
- missing __init__.py in a package;
- package or module path not included in sys.path;
- duplicated package or module name taking precedence in sys.path;
- missing module, class, function or variable;
run using: (-> in src/koboscraper)
$ python -m app.py
Error: from koboscraper import create_app
ModuleNotFoundError: No module named 'koboscraper'
file: src/koboscraper/__init__.py (some code removed!!)
from flask import Flask
def create_app():
app = Flask(__name__)
app.logger.info(f'Loading environment set to: {app.config["ENV"]}')
environment = app.config["ENV"]
if environment == "production":
app.config.from_object("config.ProductionConfig")
elif environment == "development":
app.config.from_object("config.DevelopmentConfig")
elif environment == "test":
app.config.from_object("config.TestConfig")
else:
os._exit(0)
register_extensions(app)
return app
file: src/koboscraper/app.py
from koboscraper import create_app
import logging
import os
app = create_app()
if __name__ == '__main__':
app_port = os.getenv('APP_PORT', 8080)
app.run(host='0.0.0.0', port=app_port)
Folderstructure
.
└── src
└── koboscraper
├── __init__.py
├── api
│ └── api_routes.py
├── app.py
├── config.py
├── extensions.py
├── views
│ ├── static
│ ├── templates
│ └── view_routes.py