以前に、こちらの記事で紹介のとおり、エックスサーバにDjango環境を構築しました。この環境は自動ではアップデートされませんので、定期的にアップデートする必要があります。
今回はこの手順を記録しておきます。
アップデートの有無確認
まずはアップデートがあるかどうかを確認します。
$ pip list -o
アップデートが存在すると、
Package Version Latest Type
---------------------- --------- --------- -----
Django 3.2.15 3.2.18 wheel
といった形で、現在のバージョンと最新のアップデートバージョンを教えてくれます。
(メモ)「$ pip list 」を実行して、アップデート前にバージョンを控えておくと、何かあった場合に役に立つかもしれません。
アップデートの手順
アップデートを一つずつ実施する場合は、
$ pip install -U パッケージ名
で、実施可能ですが、他にもアップデートするパッケージがあれば、一つずつ実行しないといけないので大変です。
ですので、pip-reviewというパッケージをインストールして、こちらを使用して、一括アップデートを実施しました。
まず、pip-reviewのインストールを実施します。
$ pip install pip-review
pip-reviewでもアップデートが存在するか確認できます。
$ pip-review
アップデートがあれば、以下のコマンドで一括アップデートを行います。
$ pip-review --auto
私の環境の場合、一回実行すると、一つだけ残っていたので、再度アップデートコマンドを実行しました。
すると、なにやらmysql-connector-pythonのバージョン依存に関するメッセージがでましたので、
ERROR: pip’s dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
mysql-connector-python 8.0.32 requires protobuf<=3.20.3,>=3.11.0, but you have protobuf 4.22.0 which is incompatible.
以下のコマンドでダウングレードしました。
$ pip install protobuf==3.20.3
これにより、protobuf 4.22.0が最新だったのですが、3.20.3にダウングレードしております。プログラムの動作確認で問題がなかったので、とりあえず様子見です。
もしアップデートするものがなくなれば、「Everything up-to-dat」と表示されます。
アップデート後、プログラムが正常に動作するかを確認して終了となります。今回は、ここまでです。