Address
304 North Cardinal St.
Dorchester Center, MA 02124
Work Hours
Monday to Friday: 7AM - 7PM
Weekend: 10AM - 5PM
Address
304 North Cardinal St.
Dorchester Center, MA 02124
Work Hours
Monday to Friday: 7AM - 7PM
Weekend: 10AM - 5PM
今回は、Pythonのモジュール/パッケージ/ライブラリをまとめて一括更新するために作ったコードを紹介します。
その前に、まずはPythonのpipを使ったライブラリなどの更新方法を確認しましょう。
Contents
まずパソコンにインストールされている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で使うモジュール/パッケージ/ライブラリなどを更新する方法ですが、pipを使って、
pip install -U モジュールなどの名前
とします。例えば、pandasならば、
pip install -U pandas
です。
しかしこのやり方だと、複数のモジュールなどを更新しようとした場合に1つ1つモジュールなどの名前を指定して毎回同じコマンドを打っていくことになります。とても面倒な作業となります。
実はPythonにはまさにライブラリなどをまとめて更新できる便利なパッケージ「pip-review」というものがすでにあります。それを利用するのが最適です。
まずは、pip-reviewをインストールしましょう。次のpipコマンドです。
$ pip install pip-review
使い方ですが、まず更新できるライブラリなどをまとめて確認してみましょう。コマンドプロンプトやターミナル上で次のコマンドを実行します。
pip-review
上で確認できたライブラリなどをまとめて一括更新してみましょう。次のコマンドです。
pip-review --auto
実は上で紹介したpip-reviewというものがあるのを知らなかったので、ライブラリなどをまとめて更新するためのPythonプログラムを作ってしまいました。
すでにそんなすばらしいものがあるというのに、それに遠く及ばないクオリティの劣化版をわざわざ自分で時間をかけて作ってしまいました・・・恥を晒すようなものですが、まぁせっかく作ったのでそのコードを紹介しておきます。
なお、今回の作ったコードはMac用です。Windowsでも使えるようにするための改修の余地は残してあるのですが、私自身が普段はMacを中心に使っているので、自分のMac用に作ったものです。この点注意してください。
「動けばヨシ!」
という感じです。なので例外処理などは全く実装していません。
さて今回自作したコードでは途中でpipコマンドを使うため、ターミナルを起動させる必要があります。そのために、Pythonのコードからターミナルを動かせるsubprocessモジュールとうものを使っています。
このsubprocessモジュールについては以前の記事「【Python入門】PythonからWindowsのコマンドプロンプトを使えるsubprocessモジュールの説明」で紹介していますので、そちらをご覧ください。
上述のようにあくまで私のMac環境で動くにすぎないコードで、「動けばいい」レベルのものですが、Python初心者の方の参考の1つにでもなればと思います。なお、Pythonを独学で学ぶにはUdemyの動画講座がおすすめです。次の講座が人気です。