pip installでインストールしたPyPIのライブラリは、新しいバージョンがリリースされていれば更新できます。更新(PyPIではアップグレードといいます)は、インストールした時と同じくpipを用います。

本記事では、新しいバージョンの有無チェックアップグレードの方法、そしてもしもの場合に元のバージョンに戻す方法について説明します。なお、pipの使い方の詳細については以下ページを参照してください。

Pythonには豊富な標準ライブラリが備わっています。システム、ファイルIO、関数、データベース、ウェブ等、非常に多彩です。Pythonが「バッテリー同梱(batteries included)」と呼…
本記事の目次

まずpip自体を更新しておく

まずはライブラリの更新に用いるpip自体も随時更新されているので、以下のコマンドによりアップグレードしておきます。

C:¥Users¥ichiro> py -m pip install -U pip
# または
C:¥Users¥ichiro> py -m pip install --upgrade pip

もしも、pip自体のアップグレードでエラーが表示される場合は、以下のように--force-reinstallオプションを加えて再度実行してみてください。

C:¥Users¥ichiro> py -m pip install --force-reinstall -U pip
# または
C:¥Users¥ichiro> py -m pip install --force-reinstall --upgrade pip

新しいバージョンの有無をチェック

以下のようにpip list --outdatedを実行すると新しいバージョンがリリース済みのライブラリが一覧で表示されます。PyPIのライブラリは、パッケージ形式で提供されているので、ライブラリ名は「パッケージ(Package)」で表示されます。

Versionが「現在インストール済みのバージョン」、Latestが「最新のバージョン」になります。最新バージョンがインストールされているライブラリはリストされません。

C:¥Users¥ichiro> py -m pip list --outdated
Package     Version Latest Type
----------- ------- ------ -----
lxml        4.3.1   4.3.3  wheel
openpyxl    2.6.0   2.6.2  sdist
Pillow      5.3.0   6.0.0  wheel
python-docx 0.8.7   0.8.10 sdist
python-pptx 0.6.16  0.6.17 sdist
setuptools  39.0.1  41.0.0 wheel
XlsxWriter  1.1.2   1.1.6  wheel

この一覧から、openpyxl2.6.0が現在インストールされており、最新版は2.6.2がリリースされていることがわかります。

ライブラリの更新(アップグレード)方法

ライブラリを更新(アップグレード)するには、以下のように-U(または--upgrade)オプションをつけてpip intallを実行します。

C:¥Users¥ichiro> py -m pip install -U パッケージ名
# または
C:¥Users¥ichiro> py -m pip install --upgrade パッケージ名

以下の例では、openpyxlをアップグレードしています。

upgrade openpyxl

アップグレード後にpip list --outdatedを実行してみると一覧からopenpyxlが除外されたのがわかります。つまり、openpyxlは最新バージョンがインストールされていることになります。

upgrade openpyxl confirm

元のバージョンに戻す(ダウングレード)方法

最新版を使用してみた結果、元のバージョンに戻したいケースがたまにあります(例えば、想定していたエラーが改善されて表示されなくなったなど)。そのような場合は、パッケージ名の後ろに==バージョンを指定してpip installを実行します。

C:¥Users¥ichiro> py -m pip install パッケージ名==バージョン
# または
C:¥Users¥ichiro> py -m pip install パッケージ名==バージョン

以下の例では、openpyxl2.6.2から2.6.0に戻しています。

openpyxl back

またpip list --outdatedを実行してみると以下のようにopenpyxlが一覧に追加されたのを確認できます。

openpyxl return

最後に(留意すること)

新しいバージョンではバグが修正されている場合もありますので、適宜アップグレードが必要です。

ただし、同時に仕様も変更されていることがあるので注意してください。例えば、本サイトでよく利用しているエクセルファイルを操作できるOpenPyXLでは、バージョン2.6.1で読み込みの仕様に変更がありました。ライブラリのアップグレードに際しては、ライブラリのサイトなどにある更新情報(OpenPyXLの場合はこちら )にも目を通しておくようにしましょう。