我尝试在Heroku上部署一个简单的python bot,但出现错误 couldn't find that process type 当我尝试缩放dynos时,我已经创建了一个proc文件,它看起来像这样: web: gunicorn dep:app,其中“dep”是Python代码的名称 原因是什么?
你可以检查一下你的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。你可以输入:
7条答案
按热度按时间wqnecbli1#
如果您的procfile拼写错误,例如“procfile”或“ProcFile”等,则可能会发生这种情况。文件名应为“Procfile”(带有大写字母P)。
有时改变文件名是不够的,因为git不会发现改变。我必须完全删除Procfile,然后提交修改,然后用正确的名称重新添加,然后再次提交:
1.删除过程文件
1.添加名称与“Procfile”完全相同的新过程文件
1.再次提交
git push heroku master
(或main
-新的heroku项目现在使用main
)应该可以!
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
iq0todco3#
确保Procfile位于存储库的根目录中。
在我的例子中,我最初把过程文件保存在一个子目录中。把它移到根目录就解决了这个问题。
对于试图部署Django Web应用程序的人,请注意,上述步骤可能会导致另一个问题-heroku无法访问,直到wsgi文件驻留在子目录中。
我通过参考下面的线程解决了它-
How can I modify Procfile to run Gunicorn process in a non-standard folder on Heroku?
busg9geu4#
以下内容对我很有效。
根据this Heroku help page:
若要修正:
使用
heroku buildpacks:clear
移除现有的建置套件。您必须加入空的认可并重新部署,变更才会生效:git commit --allow-empty -m "Adjust buildpacks on Heroku"
个git push heroku master
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版本。如果没有,你可以下载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]
问题就解决了。我希望我的回答能对你有所帮助。
ulmd4ohb6#
在我的情况下,错误是解决了只是创造之间的空间网和gunicorn
**之前:**网站:gunicorn --pythonpath应用程序应用程序wsgi
**之后:**Web:gunicorn --Python路径应用程序app.wsgi
mwkjh3gx7#
虽然这不是Python,但在我的例子中,我有
heroku/java
,后面跟着heroku/pgbouncer
。在Heroku的设置中,我把它们换了一下,heroku/pgbouncer
在上面。这样就解决了这个问题。如果你使用多个构建包,也许你的构建包需要不同的顺序。