我正在尝试将Flask应用程序部署到Heroku,并且一直出现此错误。有人可以帮助我吗?
n
答案 0 :(得分:0)
基于UPDATED question,错误消息暗示了问题所在:
此应用无法检测到默认语言。
您需要告诉Heroku您正在部署哪种类型的应用程序。对于Python应用程序(例如Flask),您需要在顶级git目录中具有以下文件之一,如Expected files for Python文档的Deploying Python and Django Apps on Heroku部分所述:
如果任意中的 其根目录中包含以下文件:
requirements.txt
setup.py
Pipfile
如果您应用的根目录中没有这些文件,则 Python buildpack将无法正确识别您的应用程序。
请注意最后的警告,如果不存在任何文件,Python buildpack将失败。
最简单的方法是添加一个requirements.txt
文件。您可以通过执行以下操作来生成此代码:
pip freeze > requirements.txt
它看起来像这样:
Flask==1.0.2
Flask-Scss==0.5
gunicorn==19.7.1
isort==4.3.3
itsdangerous==0.24
Jinja2==2.10.1
...
将其添加到git目录的顶层。
然后,对于Flask,您需要再添加几个文件:
runtime.txt
这指定了您应用的Python版本,如Specifying a Python Runtime
中所述python-3.7.3
Procfile
此问题在Heroku Flask Tutorial Procfile Meaning中进行了介绍,建议您看看。内容取决于您如何实例化Flask应用实例,它看起来像这样:
web: gunicorn app:app --log-file=-
如果您仍然遇到问题,我强烈建议您阅读Heroku教程文档,尤其是Getting Started on Heroku with Python。