[小ネタ] pip 9 系にしたら pip list で警告出るようになったので止めたい

2016.12.07

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、藤本です。

小ネタです。最近、pip listを実行すると、警告メッセージが出るようになったので、その対処方法についてのメモ書きです。

概要

先月から pip の 9 系がリリースされました。pip install -U pipで pip をアップグレードすると、9 系がインストールされます。気になったのが、pip listを打つ度に非推奨の警告メッセージが出力されるようになりました。

1__fujimoto_shinji_ip-192-168-0-110_____zsh_

pip 9 系から pip list の表示形式が変わる過渡期となっていて、表示方式をしてね、という警告になります。都度、表示形式をオプション指定するのも面倒ですし、都度、警告を受けるのは嫌なので、以前と同様に利用したいです。

で、警告メッセージに pip.conf の [list] セクションで表示形式をしてね、とあるので pip.conf を作成すれば、都度、指定せずとも、警告メッセージが表示されなくなりそうです。

ところで、pip.conf はどこにあるんだろう。。。

ユーザーガイド で知ることができました。OSの種類によって配置場所が異なります。

OS ファイルパス
Unix $HOME/.config/pip/pip.conf
MacOS $HOME/Library/Application Support/pip/pip.conf
Windows %APPDATA%\pip\pip.ini

virtualenv 個別で環境設定したい場合は以下のパスとなります。

OS ファイルパス
Unix
MacOS
$VIRTUAL_ENV/pip.conf
Windows %VIRTUAL_ENV%\pip.ini

設定する

今回は MacOS で試しています。以下のようなフォーマットで$HOME/Library/Application Support/pip/pip.confを作成します。既にファイルがある場合は追記してください。

[list]
format = <表示形式>

これだけです。

1__fujimoto_shinji_HL00120_____zsh_

警告メッセージが出力されなくなりました。

表示形式

現在は下記 4つの表示形式がサポートされています。

  • legacy
  • columns
  • freeze
  • json

legacy

今までの表示形式です。上のキャプチャと同じです。

$ vi $HOME/Library/Application\ Support/pip/pip.conf
[list]
format = legacy

$ pip list
pip (9.0.1)
setuptools (30.2.0)
wheel (0.30.0a0)

columns

SQL クエリのような表示形式です。

$ vi $HOME/Library/Application\ Support/pip/pip.conf
[list]
format = columns

$ pip list
Package    Version
---------- --------
pip        9.0.1
setuptools 30.2.0
wheel      0.30.0a0

freeze

pip freeze と同じ表示形式です。

$ vi $HOME/Library/Application\ Support/pip/pip.conf
[list]
format = freeze

$ pip list
pip==9.0.1
setuptools==30.2.0
wheel==0.30.0a0

json

JSON 形式です。

$ vi $HOME/Library/Application\ Support/pip/pip.conf
[list]
format = json

$ pip list
[{"version": "9.0.1", "name": "pip"}, {"version": "30.2.0", "name": "setuptools"}, {"version": "0.30.0a0", "name": "wheel"}]

まとめ

小ネタですが、どなたかの参考になりますと幸いです。