Колба: Не удается развернуть приложение в Heroku, нет модуля с именем «приложение»

#python #flask #heroku

Вопрос:

Я пытаюсь развернуть свое приложение на Heroku. Моя структура папок такова:

введите описание изображения здесь

Весь мой код написан внутри __init__.py , и я запускаю его, просто набирая flask run текст в корневом каталоге. Это прекрасно работает. Однако я попытался развернуть это приложение на Heroku и получил следующую ошибку:

 remote: -----> Discovering process types
remote:
remote:  !     Push failed: cannot parse Procfile.
remote:  !     Please try pushing again.
remote:  !     If the problem persists, see https://help.heroku.com/ and provide Request ID 266c0fb8-18bd-a262-5d3a-4355cd83bb02.
remote:
remote:
remote: Verifying deploy...
remote:
remote: !       Push rejected to submission-form.
remote:
 

Мое Procfile содержит это: web: gunicorn app:app и мое app.py содержит это:

 from app import app
app.run(debug=True)
 

Если я попытаюсь запустить python app.py , мои модули будут пропущены:

 Traceback (most recent call last):
  File "app.py", line 1, in <module>
    from app.app import app
  File "D:Gatsbysubmissionflask-tailwindcss-starterapp__init__.py", line 4, in <module>
    from contentful_management import Client
ModuleNotFoundError: No module named 'contentful_management'
 

Это несмотря на то, что они там и отлично работают, когда я использую flask run . Что здесь происходит не так? Как это исправить, чтобы я мог запустить это приложение для развертывания на Heroku? Я предполагаю, что это как-то связано с моим procfile .

Изменить: Мое репо прикреплено здесь, если это поможет

Комментарии:

1. Я не вижу никакого приложения в вашем репозитории git, можете ли вы снова отправить код на github, чтобы я мог попробовать его на своей машине

2. @charchit, Привет! Извини за это. Я только что снова нажал на фиксацию, теперь она в репо.

Ответ №1:

Вы вызываете приложение из модуля app.app. Во-первых, нет приложения модуля.приложение и нет определенного приложения. попробуйте это :

 from app import create_app
app = create_app()
app.run(debug=True)
 

Комментарии:

1. Я все еще получаю Push failed: cannot parse Procfile. ошибку. Я изменил свое app.py мнение на то, что ты сказал. Содержимое файла procfile таково web: gunicorn app:app . Правильно ли я app.py помещен в структуру каталогов? В настоящее время он находится в корневом каталоге.

2. Я передам это своему героку , есть ли способ связаться с вами, например, дискорд или что-нибудь еще. потому что это может быть слишком долго.

3. Честно говоря, это было бы потрясающе. Я пытался заставить этот сценарий работать в течение недели, и мне хотелось бы получить любые рекомендации, которые я смогу получить. Мое имя пользователя-thedivtagguy#0167