機械音痴な情報系

エラーの解決方法とTips

JupyterNotebookで「Unexpected error while saving file」が発生し保存出来なくなった

JupyterNotebookで保存が出来ない

ログを見てみると普段は

[I 12:08:09.619 NotebookApp] ←Info:黄緑色

なのに、

[W 12:07:15.668 NotebookApp] ←Warning:オレンジ
[E 12:07:15.668 NotebookApp] ←Error:赤

となっている(色は環境により異なる)。

具体的には以下のようなエラーが出ていた。

[W 23:45:45.736 NotebookApp] 500 PUT /api/contents/home/ubuntu/Code/XXX/const.py (127.0.0.1): Unexpected error while saving file: home/ubuntu/Code/scraping-flyer/const.py [Errno 28] No space left on device
[W 23:45:45.736 NotebookApp] Unexpected error while saving file: home/ubuntu/Code/XXX/const.py [Errno 28] No space left on device
[E 12:07:15.668 NotebookApp]
"Host": "localhost:8803",
      "Connection": "keep-alive",
      "Accept": "application/json, text/javascript, */*; q=0.01",
      "Origin": "http://localhost:8803",
      "X-Requested-With": "XMLHttpRequest",
      "X-Xsrftoken": "X|XXXXX|XXXXX|XXXXX",
      "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36",
      "Referer": 
      "Accept-Encoding": "gzip, deflate, br",
      "Accept-Language": "ja,en-US;q=0.9,en;q=0.8,ru;q=0.7",
      "Cookie": 

解決方法

単純に容量が足りていないため保存出来ないので、どこが容量を食っているか確認していき消す。
dfコマンドで確認してみる。多分Disc Freespaceの略。

$ df -h 
Filesystem                          Size  Used Avail Use% Mounted on
udev                                 30G     0   30G   0% /dev
tmpfs                               6.0G   17M  6.0G   1% /run
/dev/xvda1                           73G   73G   23M 100% /  ← 「/」以下がぱんぱんになってる
tmpfs                                30G   84K   30G   1% /dev/shm
tmpfs                               5.0M     0  5.0M   0% /run/lock
tmpfs                                30G     0   30G   0% /sys/fs/cgroup
tmpfs                               6.0G  8.0K  6.0G   1% /run/user/1000
/dev/mapper/VolGnoup01-LogVolume01  2.0T  421G  1.5T  23% /mnt

スクレイピングしたファイルを「/」の下に保存してたっぽいので、保存対象をマウント先「/mnt」に変更し、いらないファイルを消して容量を空ける。
cdで任意の場所に行き、各フォルダの容量チェックのためにduコマンドを用いる。こっちはDisc Usageの略。

~$ du -hs *  
943M    Code
2.8M    Nvidia_Cloud_EULA.pdf
42G     anaconda3
4.0K    hoge
1.3G    src
904K    tutorials
4.0K    ドキュメント
4.0K    ピクチャ
4.0K    デスクトップ
4.0K    ビデオ
4.0K    テンプレート
4.0K    ミュージック
4.0K    ダウンロード
4.0K    公開

~/Code $ du -hs *
17M     Project0
28M     Project1
4.0K    Project2
1.3G    Project3
53M     Project4
4.7M    Project5

こんな感じで出てくるので容量を食っているところを探して削除する。
anaconda関連のインストールで42Gも使ってたんだ…。