第一次動作:
git push heroku master
問題:
(圖檔沒截圖,從網上找的,我的runtime.txt中是python-3.5.4)
remote:Requested runtime (python-3.5.4) is not available for this stack (heroku-20)
1.stackoverflow同樣問題出處,圖也是從這裡截屏的。
2.remote:Requested runtime下一行More info給了提示的網址
https://devcenter.heroku.com/articles/python-support#supported-runtimes
原因:
發現目前用的python-3.5.4,heroku不支援,支援的版本如下圖:
解決:
更換Python版本,那是選最新的3.9.1,還是其他的呢?
英文看着煩,當時用谷歌翻譯的,!提示說的latest version of the python buildpack,
1.我看成是最接近的版本,我想應該是python-3.6.12。其實是不是應該選python-3.9.1?
2.但我的requirements.txt裡的所有安裝包的版本都是按照python-3.5.4弄的,安裝python3.9.1會不會影響到其他的安裝包?
3.決定安裝python3.6.12,但是官網沒找到python3.6.12的windows版本,淘寶鏡像也沒有。沒辦法隻能選Python3.7.9。
4.《Python程式設計從入門到實踐》p422的提示“指出不能使用你指定的版本,使用heroku支援的最接近的python版本。"
動作:
1. 安裝完Python3.7.9修改runtime.txt
python-3.7.9
2.第二次運作:
git push heroku master
再次出現runtime問題:
python版本還是3.5.4,但是我已經改了runtimet.xt。
原因:
想到指令“git add .”的作用, 将未忽略的檔案都添加到git的倉庫(runtime.txt未在.gitignore檔案中),并且指令“git commit -am ......”送出了,
是以runtime.txt裡的内容還是python3.5.4沒變。當時應該用指令“git status”看看檔案是不是modified狀态。
git commit已經儲存了快照,修改檔案無用。
解決:(當時好像沒這樣做,好像用了git的版本回退,印象中回退不能解決問題)
重新送出runtime.txt檔案。git簡單教程
git add -A
git commit -m "重新送出runtime.txt"
第三次運作:(後來好像多次使用了"heroku create",在heroku上建立了三個項目,是不是因為三個項目,遠端倉庫不對了?)
git push heroku master
問題:
報錯fatal: does not appear to a git repository Could not read from remote repository
運作:
git remote -v
發現目前git的遠端倉庫位址與heroku上的項目位址不相同。
解決并運作:
使用git克隆heroku的項目代碼到本地倉庫
$ heroku git:remote -a your-app-name
heroku上自己項目的部署步驟網址:https://dashboard.heroku.com/apps/目前項目名/deploy/heroku-git
當使用指令“hero create”建立項目後,點選項目,再選deploy。部署步驟如下:
1.Install the Heroku CLI
$ heroku login
2.Clone the repository,假如項目名為limitless-oasis-99765
$ heroku git:clone -a limitless-oasis-99765
$ cd limitless-oasis-99765
3.Deploy your changes
$ git add .
$ git commit -am "make it better"
$ git push heroku master
第四次運作:
git push heroku master
問題:
Error while running '$ python manage.py collectstatic --noinput'.
You may need to update application code to resolve this error. Or, you can disable collectstatic for this application:
解決:
$ heroku config:set DISABLE_COLLECTSTATIC=1
原因:
僅當您未正确設定所有内容以從同一伺服器提供靜态檔案時,部署Django Web應用程式的複雜部分大部分時間才與Collectstatic相關。
是以在您的終端或cmd中禁用collectstatic。
其他問題:
1.Heroku - Error during git push/deployment, The same version of this code has already been built????
2.fatal: The current branch master has no upstream branch. To push the current branch and set the remote as upstream, use git push --set-upstream heromaster master???????