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

新しいバージョンではバグが修正されている場合もありますので、適宜アップグレードが必要です。特にエクセルファイルの操作に欠かせないOpenPyXLは頻繁に更新されているので、時折チェックしておくことをお薦めします(例えば、バージョン2.6.1では読み込みの仕様に変更がありました)。

openpyxlの更新情報(openpyxlドキュメント)

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

Pythonライブラリのインストール - pipの使い方(ガンマソフト)

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