簡體   English   中英

找不到該進程類型,Heroku

[英]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,然后提交更改,然后使用正確的名稱再次添加它,然后再次提交:

  1. 刪除你的 procfile
  2. 提交
  3. 添加具有確切名稱“Procfile”的新 procfile
  4. 再次提交
  5. git push heroku master

應該工作!

確保 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 文件。

我通過參考以下線程解決了它 -

如何修改 Procfile 以在 Heroku 上的非標准文件夾中運行 Gunicorn 進程?

以下對我有用。

根據這個 Heroku 幫助頁面

修復:

使用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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM