Развертывание Flask приложения в AWS Elasti c Beanstalk - PullRequest
0 голосов
/ 11 января 2020

при развертывании моего приложения flask оно говорит об успешном, но когда я получаю журналы, я вижу ошибку "Flask not found". У меня есть flask в моем файле требований. Любая помощь.

[сб 11 января 06: 51: 50.503908 2020] [: ошибка] [pid 3393] [удаленный 127.0.0.1:0] mod_wsgi (pid = 3393): целевой сценарий WSGI '/ opt / python / current / app / application.py 'не может быть загружен как модуль Python.

[сб 11 января 06: 51: 50.503953 2020] [: ошибка] [pid 3393] [удаленный 127.0.0.1: 0] mod_wsgi (pid = 3393): Возникла исключительная ситуация при обработке сценария WSGI '/opt/python/current/app/application.py'.

[Сб 11 января 06: 51: 50.504123 2020] [: ошибка] [pid 3393] [remote 127.0.0.1:0] Traceback (последний вызов был последним): [Sat Jan 11 06: 51: 50.504151 2020] [: error] [pid 3393] [remote 127.0.0.1:0] File "/ opt / python / current / app / application.py ", строка 1, в [Сб. 11 января 06: 51: 50.504156 2020] [: ошибка] [pid 3393] [удаленный 127.0.0.1:0] из flask import Flask

[сб 11 января 06: 51: 50.504170 2020] [: ошибка] [pid 3393] [удаленный 127.0.0.1:0] ModuleNotFoundError: Нет модуля с именем 'flask'.

Ниже приведен мой контент application.py

from flask import Flask
from myapp import create_app

application = create_app()

if __name__ == "__main__":
    application.run()

Ниже приведен контент моих требований.txt

Click==7.0
-e git+https://github.com/xxxxxx/xxx.git@xxxx#egg=xxx
Flask==1.1.1
itsdangerous==1.1.0
Jinja2==2.10.3
MarkupSafe==1.1.1
numpy==1.18.1
PyYAML==3.13
scipy==1.4.1
Werkzeug==0.16.0

Ответы [ 2 ]

0 голосов
/ 12 января 2020

Вы должны иметь application.py и requirements.txt в root папки. Развернутый zip-файл также должен содержать эти два файла в root zip-файла. Я приложил ссылку, показывающую, как загрузить комплект развернутого приложения.

Ссылка: Загрузите приложение из AWS Elasti c Beanstalk

надеюсь, это поможет.

0 голосов
/ 12 января 2020

Вы можете попробовать переименовать запущенный объект Flask в 'application':

from flask import Flask
application = Flask(__name__)
# run the app.
if __name__ == "__main__":
    application.run()

Из документов Amazon EB:

Используя application.py в качестве имя файла и предоставление вызываемого объекта приложения (в данном случае объект Flask) позволяет AWS Elastic Beanstalk легко найти код вашего приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...