requirements.txt を使って pip upgrade

pip について

pip コマンドは Python のライブラリの管理を行うツールです. Python 使ってる人なら少なくとも聞いたことくらいはあるでしょう.

pip については検索するとたくさん情報が出てくるので, それらを参照してください.

https://pypi.python.org/pypi/pip

ライブラリを一括更新

$ pip install --upgrade <library>

とやってライブラリを最新に上げるわけですが, pip freeze -l コマンドの結果を記録した requirements.txt を使う場合, 一緒にバージョン指定も付いているため最新になってくれません.

検索するとこんな情報が出てきて, どうやらライブラリ1つ1つに更新をかけていかないといけないようです.

requirements.txt はライブラリ名が列挙されているだけなので, ファイルの内容を上手く加工してやってみましょう.

$ awk 'BEGIN { FS = "==" } { print $1 }' requirements.txt | xargs pip install --upgrade

これで無事に全部のパッケージが更新できました.

おまけ

awk コマンドでの FS (field separator) の指定は, -F オプションでできるらしく指摘を受けました.

その指摘を反映して, 最終的にこんなコマンドになります.

$ awk -F "==" '{ print $1 }' requirements.txt | xargs pip install --upgrade

それでは.