pip でモジュールをインストールする際に OSError: No space left on device のエラーが起きたときの対処法

Python

概要

pip でモジュールをインストールする際に以下のエラーでインストールができないことがあります。

> pip install xxxxx
(略)
OSError: [Errno 28] No space left on device

このエラーはモジュールをインストールしようとしたがディスク容量に空きが無い、というエラーです。

従って、現在のディスクの空き容量を確認し、不要なファイルを消すことでエラーの解消ができます。
具体的な対処法は以下です。

  • 現在のディスクの状態を確認する
  • 容量を大きく占めているファイルを探し、不要であれば削除する

現在のディスクの状態を確認する方法

Windows の場合

  1. 「スタートボタン」→「設定」をクリック
  2. 設定(歯車のアイコン)をクリック
  3. 「システム」をクリック
  4. 左メニューの「記憶域」をクリック
  5. ディスクの使用状況が出てくる

Mac の場合、もしくはAWSなどのクラウド環境にてLinuxを利用している場合

dfコマンドを実行することでディスクの空き状況が確認できます。
この時 -h オプションをつけることで単位などが見やすいように変換されるのでつけることをオススメします。

$ df -h
(ディスクの空き状況が表示される)

ここまでの手順で、確かにディスクに空きが少ないことが分かると思います。

容量を大きく占めているファイルを探す方法

ディスクの空き状況が分かり、何かファイルを削除しなくてはいけないと分かりました。
次にどのファイルが容量を大きく占めているかを確認します。

Windows の場合

様々な方法がありますが、ここではフリーソフト DiskInfo を利用する方法を紹介します。

DiskInfo はどのフォルダ、ファイルがどれぐらいディスク容量を使用しているのかを把握できるフリーソフトです。

ダウンロードした zip を解凍し、DiskInfo3.exe を実行、その後ウィンドウ左上の解析ボタンを押せば結果が得られます。

結果から、容量を大きく占めているファイルを特定し、不要なファイルを消していけばOKです。

Mac の場合、もしくはAWSなどのクラウド環境にてLinuxを利用している場合

duコマンドを実行することでファイルが占めている容量を確認できます。
この時、dfコマンドと同様に -h オプションをつけることで単位が読みやすくなります。
また、デフォルトだと今いるディレクトリの配下にある全てのファイルについての結果が出力されるので、確認が困難になります。
-dX オプション(Xには数字が入る)をつけることで配下のディレクトリをX階層分まで辿る、ということを指定できます。

$ du -h -d2
(ファイル、ディレクトリとサイズが表示される)

結果から、容量を大きく占めているファイルを特定し、不要なファイルを rm コマンドによって消していけばOKです。

$ rm "不要なファイルのパス"

コメント

タイトルとURLをコピーしました