天天看點

python web 開發 Django 部署到伺服器heroku上出現bug時候 解決辦法3.git – 緻命:遠端heroku已經存在????????

第一次動作:

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同樣問題出處,圖也是從這裡截屏的。

python web 開發 Django 部署到伺服器heroku上出現bug時候 解決辦法3.git – 緻命:遠端heroku已經存在????????

2.remote:Requested runtime下一行More info給了提示的網址

https://devcenter.heroku.com/articles/python-support#supported-runtimes

原因:

發現目前用的python-3.5.4,heroku不支援,支援的版本如下圖:

python web 開發 Django 部署到伺服器heroku上出現bug時候 解決辦法3.git – 緻命:遠端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。

python web 開發 Django 部署到伺服器heroku上出現bug時候 解決辦法3.git – 緻命:遠端heroku已經存在????????

原因:

想到指令“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:

python web 開發 Django 部署到伺服器heroku上出現bug時候 解決辦法3.git – 緻命:遠端heroku已經存在????????

解決:

$ 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???????

3.git – 緻命:遠端heroku已經存在????????