4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

pipで更新可能なライブラリを一括でアップデートするシェルスクリプト

Last updated at Posted at 2018-10-07

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      
-----------
パッケージ名

わかる方がいれば教えていただけるとありがたいです。

4
3
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?