condaなら
$conda update --all
でライブラリの一括アップデートできる。
でもpipにはそのオプションがない(はず)。
pipでは、
$pip list -o
#出力結果は下記
Package Version Latest Type
----------- ------- ------- -----
でアップデートが可能なライブラリの一覧が取得できる。
アップデートする際にはパッケージ名以外はいらないのでこっちが見やすい。
$ pip list -o | awk '{print $1}'
#出力結果は下記
Package
-----------
アップデートしたいライブラリが1つだけなら
$ pip install -U パッケージ名
とすればアップデートできる。
複数ある場合は、テキストファイルにまとめておいてシェルで処理すると楽。
update.sh
#!/bin/bash
while read line
do
pip install -U $line
done < pip_update_list.txt
ほんとうはアップデートリスト生成からアップデートまでをまとめて行いたいけど、
シェルスクリプトでテキストを処理する方法がいまいち分からなかった。
$ pip list -o | awk '{print $1}'
#この出力結果から[Package]と[-----------]を削除したい。
Package
-----------
パッケージ名
わかる方がいれば教えていただけるとありがたいです。