无法找到该流程类型,Heroku

时间:2018-01-30 00:10:13

标签: python heroku

我试图在Heroku上部署一个简单的python bot,但是我收到了错误 couldn't find that process type

当我尝试缩放dynos时。我已经创建了一个procfile,它看起来像这样:
web: gunicorn dep:app,其中" dep"是我的python代码的名称

可能是什么原因?

6 个答案:

答案 0 :(得分:6)

如果您的procfile是拼写错误,例如“ procfile”或“ ProcFile”等,则可能会发生这种情况。文件名应为“ Procfile”(大写P)。 有时更改文件名并不足够,因为git不会发现更改。我必须完全删除Procfile,然后提交更改,然后再使用正确的名称再次添加它,然后再次提交:

  1. 删除您的procfile
  2. git commit
  3. 添加一个名为“ Procfile”的新procfile
  4. 再次提交
  5. git push heroku master

应该工作!

答案 1 :(得分:5)

确保Procfile位于存储库的根目录中。

就我而言,我最初将Procfile保留在子目录中。将其移至根目录即可解决此问题。

对于尝试部署django Web应用程序的人员,请注意,上述步骤可能会导致另一个问题-heroku在位于子目录中的wsgi文件之前无法访问。

我通过参考以下线程来解决它-

How can I modify Procfile to run Gunicorn process in a non-standard folder on Heroku?

答案 2 :(得分:3)

以下内容对我有用。

根据this Heroku help page

要修复:

使用heroku buildpacks:clear删除现有的buildpack。 您将需要添加一个空的提交并重新部署以更改为 生效:

git commit --allow-empty -m "Adjust buildpacks on Heroku"

git push heroku master

答案 3 :(得分:0)

您可以检查您的python版本。我试图部署我的Django项目,所以我的procfile看起来像这个web: gunicorn blog.wsgi --log-file -,我也得到了同样的错误couldn't find that process type。我发现Heroku只支持python-3.6.4和python-2.7.14而我只有python3.5。您可以输入:

python -V

查看您正在使用的python版本。如果没有,你可以下载python 3.6。我遵循了How do I install Python 3.6 using apt-get?

  

Ubuntu 14.04和16.04

     

如果您使用的是Ubuntu 14.04或16.04,则可以使用Felix Krull' s   死亡PPA在   https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa

     

sudo add-apt-repository ppa:deadsnakes/ppa

     

sudo apt-get update

     

sudo apt-get install python3.6

     

或者,您可以使用J Fernyhough的PPA   https://launchpad.net/~jonathonf/+archive/ubuntu/python-3.6

     

sudo add-apt-repository ppa:jonathonf/python-3.6

     

sudo apt-get update

     

sudo apt-get install python3.6

并记得让你保持python 3.5。不要删除它。并在runtime.txt文件中指定您的python版本:python-3.6.4并运行:

heroku ps:scale web=1 --app [my app's name]

问题解决了。我希望我的回答可以帮到你。

答案 4 :(得分:0)

确保Procfile不应该有像.txt这样的扩展名 否则这将是错误

remote: -----> Discovering process types remote: Procfile declares types -> (none)

在cmd中创建不带扩展名类型的文件  notepad Procfile. 现在添加web: gunicorn dep:app并保存 现在,当你将git推送到heroku master时,上面的行就像是

remote: -----> Discovering process types remote: Procfile declares types -> web

当你运行

时错误就消失了

C:\用户\超级辛格\ PycharmProjects \ URLShortener> heroku ps:scale web=1

Scaling dynos... done, now running web at 1:Free

答案 5 :(得分:0)

此问题主要是在您尝试通过使用命令提示符或通过终端创建Procfile时引起的。我建议手动创建Procfile。

如果您使用的是Visual Studio代码,请单击pipfile,然后在上方单击“创建新文件”按钮,然后输入文件名作为Procfile。在执行此操作之前,请删除先前的Procfile,并在活动的虚拟环境中的命令提示符中使用命令git rm procfile -f。

如果您正在使用其他IDE,请打开记事本并在其中输入以下行:gunicorn mb_project.wsgi --log-file-之后,将其另存为Procfile并将该文件放在pipfile下。

这是我的文件https://github.com/YashMarmat/message-board-app.git

的链接