我正在尝试将我的应用部署到 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:\Gatsby\submission\flask-tailwindcss-starter\app\__init__.py", line 4, in <module>
from contentful_management import Client
ModuleNotFoundError: No module named 'contentful_management'
尽管它们在那里并且在我使用 flask run
时运行良好。这里出了什么问题?我如何解决这个问题,以便我可以推动这个应用程序部署在 Heroku 上?我猜这与我的procfile
有关。
答案 0 :(得分:0)
您正在从 app.app 模块调用应用程序。首先没有模块 app.app 并且没有定义应用程序。 试试这个:
from app import create_app
app = create_app()
app.run(debug=True)