将 Flask 应用程序部署到 Heroku 时出现的问题

Issues when deploying flask app to Heroku

我最近经历了这个flask tutorial,现在正尝试将我的应用程序部署到 heroku。

我可以使用命令 gunicorn "platform:create_app()" 在本地 运行 应用程序。由于该命令有效,我添加了一个包含 web: gunicorn platform.'create_app()' 的 Procfile,但是当我尝试部署到 Heroku 时,我收到错误 ModuleNotFoundError: No module named 'platform.create_app()'.

我四处搜索并找不到这个问题的真正明确答案,尽管我认为 and specifically 可能有助于阐明一些问题。

我可以告诉你的是,我为 Flask 应用程序创建的要在 Heroku 中部署的 Procfiles none 包含 .py 或括号。

我的典型 Procfile 如下所示:

web: gunicorn app:app

然后在同一目录中是主应用程序文件 app.py,其中包含一行:

app = Flask(__name__)

据我所知,命令中的第一个 app 指向文件(模块)app.py,第二个指向定义为 Flask(__name__).


因此对于您的情况,以下应该有效:

web: gunicorn platform:app

假设您有一个名为 platform.py 的 Python 模块,然后在该文件中您需要有一行

app = create_app()

教程中的 create_app() 函数您引用了 returns 一个 Flask 对象,因此应该可以完成工作。