LoginSignup
14
10

More than 5 years have passed since last update.

pip install が "OSError: [Errno 28] No space left on device" を起こした

Last updated at Posted at 2017-08-19

形態素解析器 janomeがついにNElogd辞書に対応と聞いて、試してみたところ、pip install で軽くはまりました。

OSは Lubuntu14.04 で、Anacondaのpython3.5を使っています。

こちら(google drive) からファイルを落とし、READMEにあるように

$ pip install Janome-0.3.5.neologd20170814.tar.gz --no-compile

としたところ、下記のエラーが出てしまいました。

OSError: [Errno 28] No space left on device

調べてみると、このエラーはさまざまな理由で起こりえるようです。ディスクの容量の問題のこともあれば、ファイルの個数のせいであることもあるらしい。今回の場合は容量のせいだったようです。

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
... (略)
/dev/zram1      1.5G  1.4G  4.0K 100% /tmp
... (略)

というように、tmpディレクトリがいっぱいになっています。今回のjanomeは大きな辞書ファイルを扱うので制限を越えてしまったものと想像しています。

対処法としては、一時的にtmpディレクトリを指定してからインストールするのが簡単なようです。

$ mkdir $HOME/tmp
$ export TMPDIR=$HOME/tmp
$ pip install Janome-0.3.5.neologd20170814.tar.gz --no-compile

export TMPDIR=$HOME/tmp コマンドによって、tmpディレクトリを指定しています。この指定は、一時的なものなので、セッションを閉じると破棄されます。

このあと、

>>> from janome.tokenizer import Tokenizer
>>> t = Tokenizer(mmap=True)
>>> for x in t.tokenize("メロンパンを食べる安倍総理"): print(x)
#メロンパン    名詞,固有名詞,一般,*,*,*,メロンパン,メロンパン,メロンパン
#を    助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
#食べる  動詞,自立,*,*,一段,基本形,食べる,タベル,タベル
#安倍総理   名詞,固有名詞,一般,*,*,*,安倍総理,アベソウリ,アベソーリ

※ 普通のjanomeの場合、「メロンパン」は「メロン」+「パン」に、「安倍総理」は「安倍」+「総理」に分割されます。

14
10
0

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
14
10