[英]Couldn't find that process type, Heroku
我正在嘗試在 Heroku 上部署一個簡單的 python 機器人,但出現錯誤couldn't find that process type
當我嘗試縮放測功機時。 我已經制作了一個procfile,它看起來像這樣:
web: gunicorn dep:app
,其中“dep”是我的 python 代碼的名稱
可能是什么原因?
如果您的 procfile 拼寫錯誤,例如“procfile”或“ProcFile”等,可能會發生這種情況。文件名應為“Procfile”(大寫 P)。
有時更改文件名還不夠,因為 git 不會發現更改。 我必須完全刪除 Procfile,然后提交更改,然后使用正確的名稱再次添加它,然后再次提交:
應該工作!
確保 Procfile 不應該有任何像 .txt 這樣的擴展名,否則這將是錯誤
remote: -----> Discovering process types remote: Procfile declares types -> (none)
在cmd notepad Procfile.
創建沒有擴展類型的文件notepad Procfile.
現在添加web: gunicorn dep:app
並保存 現在當你 git push heroku master 時,上面的web: gunicorn dep:app
行會像
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
確保 Procfile 位於存儲庫的根目錄中。
就我而言,我最初將 Procfile 保存在子目錄中。 將其移動到根目錄解決了問題。
對於嘗試部署 django web 應用程序的人,請注意上述步驟可能會導致另一個問題 - heroku 無法訪問,直到駐留在子目錄中的 wsgi 文件。
我通過參考以下線程解決了它 -
以下對我有用。
修復:
使用
heroku buildpacks:clear
刪除現有的 buildpack。 您需要添加一個空提交並重新部署以使更改生效:
git commit --allow-empty -m "Adjust buildpacks on Heroku"
git push heroku master
您可能會檢查您的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。 我遵循了如何使用 apt-get 安裝 Python 3.6?
Ubuntu 14.04 和 16.04
如果您使用的是 Ubuntu 14.04 或 16.04,您可以在https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa使用 Felix Krull 的 deadsnakes PPA:
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update
sudo apt-get install python3.6
或者,您可以在https://launchpad.net/~jonathonf/+archive/ubuntu/python-3.6使用 J Fernyhough 的 PPA:
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]
問題解決了。 希望我的回答可以幫到你。
雖然它不是 Python,但就我而言,我有heroku/java
后跟heroku/pgbouncer
。 在 Heroku 的設置中,我切換了它們,因此heroku/pgbouncer
位於頂部。 這解決了這個問題。 如果您使用多個,也許您的 buildpacks 需要以不同的方式訂購。
在我的情況下,只需在 web 和 gunicorn 之間創建空間即可解決錯誤
之前: web:gunicorn --pythonpath app app.wsgi
之后: web:gunicorn --pythonpath app app.wsgi
添加 Procfile 然后運行$ Heroku local
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.