Address
304 North Cardinal St.
Dorchester Center, MA 02124

Work Hours
Monday to Friday: 7AM - 7PM
Weekend: 10AM - 5PM

Pythonのライブラリをまとめて更新する方法と、subprocessモジュールを使った自作コード

MacでPythonのライブラリをまとめて更新するためのコード

今回は、Pythonのモジュール/パッケージ/ライブラリをまとめて一括更新するために作ったコードを紹介します。

その前に、まずはPythonのpipを使ったライブラリなどの更新方法を確認しましょう。

Pythonのライブラリなどの最新版を確認する方法

まずパソコンにインストールされているPythonのモジュール/パッケージ/ライブラリについて、使っているバージョンと最新版がどうなっているのかを調べてみましょう。Windowsならば、コマンドプロンプト/Powershell/Windows Terminal、またはMacならばそのターミナルで次のpipコマンドを使います。

pip list -o

こうすると、

(略)
pywin32                302         306          wheel
pyzmq                  22.3.0      25.1.1       wheel
requests               2.27.1      2.31.0       wheel
(略)

などとリストで一覧となって表示されるでしょう。これで使用しているバージョンと最新版のバージョンを比較できます。

Pythonのモジュールやライブラリなどを更新する方法

次にPythonで使うモジュール/パッケージ/ライブラリなどを更新する方法ですが、pipを使って、

pip install -U モジュールなどの名前

とします。例えば、pandasならば、

pip install -U pandas

です。

しかしこのやり方だと、複数のモジュールなどを更新しようとした場合に1つ1つモジュールなどの名前を指定して毎回同じコマンドを打っていくことになります。とても面倒な作業となります。

Pythonのライブラリなどをまとめて更新できる「pip-review」と、その使い方

pip-reviewとは?

実はPythonにはまさにライブラリなどをまとめて更新できる便利なパッケージ「pip-review」というものがすでにあります。それを利用するのが最適です。

→Github:pip-review

インストール方法

まずは、pip-reviewをインストールしましょう。次のpipコマンドです。

$ pip install pip-review

更新可能なライブラリなどの確認方法

使い方ですが、まず更新できるライブラリなどをまとめて確認してみましょう。コマンドプロンプトやターミナル上で次のコマンドを実行します。

pip-review

ライブラリなどをまとめて更新する方法

上で確認できたライブラリなどをまとめて一括更新してみましょう。次のコマンドです。

pip-review --auto

ライブラリなどの最新版をまとめて更新するコード

実は上で紹介したpip-reviewというものがあるのを知らなかったので、ライブラリなどをまとめて更新するためのPythonプログラムを作ってしまいました。

すでにそんなすばらしいものがあるというのに、それに遠く及ばないクオリティの劣化版をわざわざ自分で時間をかけて作ってしまいました・・・恥を晒すようなものですが、まぁせっかく作ったのでそのコードを紹介しておきます。

なお、今回の作ったコードはMac用です。Windowsでも使えるようにするための改修の余地は残してあるのですが、私自身が普段はMacを中心に使っているので、自分のMac用に作ったものです。この点注意してください。

「動けばヨシ!」

という感じです。なので例外処理などは全く実装していません。

前提知識:Pythonのsubprocesseモジュールについて

さて今回自作したコードでは途中でpipコマンドを使うため、ターミナルを起動させる必要があります。そのために、Pythonのコードからターミナルを動かせるsubprocessモジュールとうものを使っています。

このsubprocessモジュールについては以前の記事「【Python入門】PythonからWindowsのコマンドプロンプトを使えるsubprocessモジュールの説明」で紹介していますので、そちらをご覧ください。

Mac用の自作コード

上述のようにあくまで私のMac環境で動くにすぎないコードで、「動けばいい」レベルのものですが、Python初心者の方の参考の1つにでもなればと思います。なお、Pythonを独学で学ぶにはUdemyの動画講座がおすすめです。次の講座が人気です。

愛を分かち合いましょう