djangoをdockerコンテナで利用(8) - django3からdjango4にバージョンアップ
djangoの4.0ってのが先週に出たらしい。 せめてマイナーバージョンが1つ上がって4.1まで待ちたいけど、メジャーバージョンアップの練習してみたい。 この秋あたりから3.2~3.9と使い始めてきて、冬にバージョン上げてdjangoの記述をどんなふうに変えていくのかやってみた。 元のバージョン djangoはrequirement.txtに必要コンポーネントのバージョンを書いておく。 自分用にパッケージをバージョンアップするためのメモを 最初の頃に作ってある 。 djangoのロケット画面表示をdockerコンテナで表示させてた頃に手動作成したrequirement.txtはこれだけ。 その後もmariaDB接続と円グラフ描く練習のためだけなので内容は少なかった。 1 2 3 4 5 6 Django==3.2.7 uwsgi==2.0.19.1 django-markdownx==3.0.1 Markdown==3.3.3 Pillow==7.0.0 PyMySQL バージョン上げる 業務として真面目にやるなら、先にリリースノートを読むべき。 Django 4.0 release notes | Django ドキュメント | Django docs.djangoproject.com でも今は業務じゃなくてプライベートでの練習やし、ドキュメント読むの面倒やし、読まずに問題に当たったとしてもその解決過程を楽しみたいし。 失敗したら、/code/appのフォルダをdockerの永続化領域としてtar.gzで保管してるから丸ごと戻す。 問題が出たらリリースノート読むってことで、いきなりpip実行した。 エコー結果は長いし、アップグレードは「success」ってのしかチェックしないので割愛。 以下、実際にやったこと。 アップデート必要なパッケージ一覧確認(pip3 list -o)で目視確認 エラーが出ないか目視しつつパッケージのアップグレード(pip3 install –upgrade) パッケージの依存関係チェック(pip3 check)して問題出ないか確認 パッケージの書き出し(pip3 freeze)してバージョン記述の確定内容をrequirement.txtに残す ここまででrequirement.txtはこうなった。 えらい行数増えてるなぁ。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 asgiref==3.4.1 backports.zoneinfo==0.2.1 cycler==0.11.0 Django==4.0 django-markdownx==3.0.1 fonttools==4.28.4 importlib-metadata==4.9.0 kiwisolver==1.3.2 Markdown==3.3.6 matplotlib==3.5.1 numpy==1.21.4 packaging==21.3 Pillow==8.4.0 PyMySQL==1.0.2 pyparsing==3.0.6 python-dateutil==2.8.2 pytz==2021.3 six==1.16.0 sqlparse==0.4.2 supervisor==4.2.2 uWSGI==2.0.20 zipp==3.6.0 バージョン上げたときのdjango処理内の対処 バージョン上げたんやからmigrateする。 ...