找不到那个进程类型,Heroku

Ger*_*d22 5 python heroku

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

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

可能是什么原因?

Alo*_*man 12

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

  1. 删除你的proc文件
  2. git commit
  3. 添加一个名为"Procfile"的新procfile
  4. 再次提交
  5. git push heroku master

应该管用!

  • 为了明确起见:该文件不应该有扩展名(没有“.txt”或其他任何内容)。只是“Procfile”。 (2认同)

Ram*_*ngh 6

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

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

要在 cmd 中创建没有扩展类型的文件,notepad Procfile. 现在添加web: gunicorn dep:app并保存,当你将 git push heroku master 时,上面的几 行就像

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

当你运行时错误消失了

C:\Users\Super-Singh\PycharmProjects\URLShortener>heroku ps:scale web=1

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


Abh*_*ary 6

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

就我而言,我最初将 Procfile 保存在子目录中。将其移动到根目录解决了问题。

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

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

如何修改 Procfile 以在 Heroku 上的非标准文件夹中运行 Gunicorn 进程?


seb*_*rgo 5

以下内容对我有用。

根据Heroku 帮助页面

修理:

删除现有的构建包heroku buildpacks:clear。您将需要添加一个空提交并重新部署才能使更改生效:

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

git push heroku master


小智 1

你可以检查一下你的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
Run Code Online (Sandbox Code Playgroud)

查看您现在使用的 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 的 deadsnakes 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]

问题解决了。希望我的回答能够对您有所帮助。