找不到该进程类型Heroku

hfwmuf9z  于 2022-11-13  发布在  其他
关注(0)|答案(7)|浏览(94)

我尝试在Heroku上部署一个简单的python bot,但出现错误
couldn't find that process type
当我尝试缩放dynos时,我已经创建了一个proc文件,它看起来像这样:
web: gunicorn dep:app,其中“dep”是Python代码的名称
原因是什么?

wqnecbli

wqnecbli1#

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

  1. git提交
    1.添加名称与“Procfile”完全相同的新过程文件
    1.再次提交
  2. git push heroku master(或main-新的heroku项目现在使用main
    应该可以!
irlmq6kh

irlmq6kh2#

确保Procfile不应该有任何扩展名,如.txt,否则这将是错误
remote: -----> Discovering process types remote: Procfile declares types -> (none)
要创建没有扩展名的文件,请在cmd中键入以下内容notepad Procfile.现在添加web: gunicorn dep:app并保存现在,当您将git推heroku主以上行将像
remote: -----> Discovering process types remote: Procfile declares types -> web
当你运行时错误消失了
C:\用户\超级辛格\PycharmProjects\网址缩写〉heroku ps:scale web=1
Scaling dynos... done, now running web at 1:Free

iq0todco

iq0todco3#

确保Procfile位于存储库的根目录中。
在我的例子中,我最初把过程文件保存在一个子目录中。把它移到根目录就解决了这个问题。
对于试图部署Django Web应用程序的人,请注意,上述步骤可能会导致另一个问题-heroku无法访问,直到wsgi文件驻留在子目录中。
我通过参考下面的线程解决了它-
How can I modify Procfile to run Gunicorn process in a non-standard folder on Heroku?

busg9geu

busg9geu4#

以下内容对我很有效。
根据this Heroku help page

若要修正:

使用heroku buildpacks:clear移除现有的建置套件。您必须加入空的认可并重新部署,变更才会生效:
git commit --allow-empty -m "Adjust buildpacks on Heroku"
git push heroku master

h9a6wy2h

h9a6wy2h5#

你可以检查一下你的python版本。我试着部署我的Django项目,所以我的proc文件看起来像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的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]
问题就解决了。我希望我的回答能对你有所帮助。

ulmd4ohb

ulmd4ohb6#

在我的情况下,错误是解决了只是创造之间的空间网和gunicorn

**之前:**网站:gunicorn --pythonpath应用程序应用程序wsgi
**之后:**Web:gunicorn --Python路径应用程序app.wsgi

mwkjh3gx

mwkjh3gx7#

虽然这不是Python,但在我的例子中,我有heroku/java,后面跟着heroku/pgbouncer。在Heroku的设置中,我把它们换了一下,heroku/pgbouncer在上面。这样就解决了这个问题。如果你使用多个构建包,也许你的构建包需要不同的顺序。

相关问题