Django girls でHerokuにpushできなかった時の話

More than 1 year has passed since last update.

Django girlsをやってたところ、デプロイ!のHerokuにアップする時少しつまづいたのでメモ


https://djangogirlsjapan.gitbooks.io/workshop_tutorialjp/content/deploy/



【事象】

Django girlsチュートリアルの手順に則り、以下コマンドでHerokuにアップロードしようとしたところ..

git push heroku master

Pushに失敗

remote: ! Push rejected, failed to compile Python app.

remote:
remote: ! Push failed
remote: Verifying deploy...
remote:
remote: ! Push rejected to mokumoku-blog-20180630.


【原因】

原因は2つ

①Django girlsチュートリアルの「runtime.txt」に記載していたPythonのバージョンと、自分のPCに導入していたPythonのバージョンが異なっていた。

(myenv) TakunoMacBook-Pro:djangogirls2 taku$ python --version

Python 3.6.5


The runtime.txt file

Herokuに使っているPythonのバージョンを伝えなければいけません。djangogirlsディレクトリにruntime.txt ファイルを作ってその中に書きます。エディタで新規ファイルを作成して、次のように書いてください:


python-3.5.2

※事前にPythonを導入しており、以下手順はスキップしていた。(3.6.5をインストール)


https://djangogirlsjapan.gitbooks.io/workshop_tutorialjp/content/python_installation/


=>これも3.6.2でruntime.txtで記載してみようとされていたバージョンと違うのだが・・

②psycopg2のバージョンが古い

チュートリアルの手順だと、必要なバージョンが導入されないらしい。

psycopg2のアップデートが必要


【解決策】

①runtime.txtの記載を修正


runtime.txt


python-3.6.5

修正後、以下コマンドで設定を反映

$ pip freeze > requirements.txt

②psycopg2のアップデート

以下コマンドを実行

pip install --upgrade psycopg2


 (参考)


Djangoでherokuを使おうとした時, git push heroku master ができなかった話

https://qiita.com/rym903/items/14571f056463e924f742


①、②を実行後、次のコマンドで反映

$ git add -A .

$ git commit -m "My Django Girls app"

反映後、git push すると、git(Heroku)へのアップロードは成功

remote: -----> Launching...

remote: Released v4
remote: https://mokumoku-blog-20180630.herokuapp.com/ deployed to Heroku
remote:
remote: Verifying deploy... done.
To https://git.heroku.com/mokumoku-blog-20180630.git
* [new branch] master -> master