pipの警告「WARNING: You are using pip version x.x.x, however version y.y.y is available.」を抑止する

PythonのパッケージをPyPIからインストールする際に用いるpipコマンドで、よくある警告を抑止する方法です。

例えば、現在アクティブな環境にインストールされているパッケージ一覧を表示した際にも表示されます。pip listを実行してみます。

Package    Version
---------- -------
pip        19.2.3
setuptools 41.2.0
WARNING: You are using pip version 19.2.3, however version 20.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

文字通り「新しいバージョンのpipがあるからアップデートしなさい」という警告です。果たして「警告」にするレベルのものかどうかという疑問が残りますが、これまでアップデートしない理由も特にないため毎回アップデートしていました。しかし、この警告を表示させない方法があるようです。

ホスト全体で適用する方法

$HOME/.config/pip/pip.confに、以下の内容を追記します。

[global]
disable-pip-version-check = True

この状態で、冒頭のpip listをもう一度打ってみます。

Package    Version
---------- -------
pip        19.2.3
setuptools 41.2.0

表示されなくなりました。

特定の仮想環境(virtualenv)だけ適用する

ホスト全体に適用するのは少し躊躇いが、という場合、特定の仮想環境だけ適用することもできます。変更したことを忘れてしまいそうなので、個人的にはこちらがオススメです。例として、playgroundという仮想環境を作成し、環境をアクティベートします。

python3 -m venv playground
source ./playground/bin/activate

すると、VIRTUAL_ENVという環境変数に仮想環境のパスが記憶されていると思います。この状態で、pip listを打っても警告が表示されますが、$VIRTUAL_ENV/pip.confに、先ほどの内容を記述します。

[global]
disable-pip-version-check = True

環境をdeactivateすると、以下のように再度表示されるようになります。

Package    Version
---------- -------
pip        19.2.3
setuptools 41.2.0
WARNING: You are using pip version 19.2.3, however version 20.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

pipコマンドのオプションで解決する

以下のようにオプションを付与するだけです。コマンドのエイリアスとして登録しておいても良いかもしれません。明確に区別する必要がある場合には、pip!として登録しておきましょう。

pip --disable-pip-version-check <command>

まとめ

pip.confには、上記以外にも様々なオプションがあります。暇な時にでも目を通してみようと思います。


comments powered by Disqus