Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在heroku上部署flask应用程序很麻烦_Flask_Heroku_Deployment_Gunicorn - Fatal编程技术网

在heroku上部署flask应用程序很麻烦

在heroku上部署flask应用程序很麻烦,flask,heroku,deployment,gunicorn,Flask,Heroku,Deployment,Gunicorn,我在heroku上部署flask应用程序时遇到问题, 我的目录树如下所示: ├── app │   ├── errors.py │   ├── forms.py │   ├── __init__.py │   ├── __init__.pyc │   ├── models.py │   ├── __pycache__ │   ├── routes.py │   ├── static │   ├── storage.db │   └── templates ├── migrations ├── P

我在heroku上部署flask应用程序时遇到问题, 我的目录树如下所示:

├── app
│   ├── errors.py
│   ├── forms.py
│   ├── __init__.py
│   ├── __init__.pyc
│   ├── models.py
│   ├── __pycache__
│   ├── routes.py
│   ├── static
│   ├── storage.db
│   └── templates
├── migrations
├── Procfile
├── README.md
├── requirements.txt
├── run.py
└── runtime.txt
我对Procfile的配置很困惑,我应该调用run.py(我使用“flask run”在本地调用的存档)还是app(init.py调用flask实例和sql\u alchemy实例的文件夹)

无论如何,两种配置都返回以下错误:


$heroku日志--尾部

heroku[web.1]: State changed from crashed to starting
heroku[web.1]: Starting process with command `gunicorn: app:app`
app[web.1]: bash: gunicorn:: command not found
heroku[web.1]: Process exited with status 127
heroku[web.1]: State changed from starting to crashed


gunicorn已按要求配置。py

假设您的
运行。py
是您的应用程序的入口点,并且您已将您的flask实例命名为
app
,则您的程序文件应如下所示:

web: gunicorn run:app

这是因为在Procfile中,第一个参数必须是运行网站的主文件或入口文件的名称,第二个参数是flask实例本身的名称。至少gunicorn和heroku的情况是这样。

假设你的
run.py
是你的应用程序的入口点,并且你已经将你的flask实例命名为
app
,你的程序文件应该看起来像
web:gunicorn run:app
谢谢@Aditya它成功了!你为什么不在下面回答,而只是发表评论?然后我会把它标记为最佳答案,它应该会帮助其他人:)不客气:)。老实说,我不知道为什么我没有写下来作为答案
web: gunicorn run:app