Raspberry Piでpythonからmecabを使う初期設定

mecab導入にいろいろてこずった結局、OSを初期化して以下の手順でうまくいった。

# 環境

| 項目       |       内容 |  
|:-----------------|------------------:|
| デバイス            |    Raspberry Pi 3 ModelB    |
| OS            |    2018-11-13-raspbian-stretch    |

# 実行
ラズパイの端末から以下を順に実行。
ラズパイにディスプレイつなげても、sshで接続して操作してもどちらでも良い。

## apt-getをアップデート

```code:【実行内容】
sudo apt-get upgrade
```

```code:【出力】
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
アップグレードパッケージを検出しています... 完了
アップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 0 個。
```

## apt-getをアップグレード

```code:【実行内容】
sudo apt-get upgrade
```

```code:【出力】
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
アップグレードパッケージを検出しています... 完了
アップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 0 個。
```

## mecab本体や辞書などをインストール

```code:【実行内容】
sudo apt-get install mecab libmecab-dev mecab-ipadic-utf8 python-mecab
```

```code:【出力１】
この操作後に追加で 138 MB のディスク容量が消費されます。
続行しますか? [Y/n] 
```
と聞かれるのでYと入力してエンター

```code:【出力２】
得:1 http://ftp.jaist.ac.jp/pub/Linux/raspbian-archive/raspbian stretch/main armhf libmecab2 armhf 0.996-3.1 [218 kB]
取得:2 http://ftp.jaist.ac.jp/pub/Linux/raspbian-archive/raspbian stretch/main armhf libmecab-dev armhf 0.996-3.1 [271 kB]
取得:3 http://ftp.jaist.ac.jp/pub/Linux/raspbian-archive/raspbian stretch/main armhf mecab-utils armhf 0.996-3.1 [7,478 B]
・・・・・・省略・・・・・・・・・
done!
```

## mecab-python3をインストール

```code:【実行内容】
sudo pip3 install mecab-python3
```

```code:【出力（エラー）】
  Downloading https://files.pythonhosted.org/packages/ac/48/295efe525df40cbc2173748eb869290e81a57e835bc41f6d3834fc5dad5f/mecab-python3-0.996.1.tar.gz
Building wheels for collected packages: mecab-python3
・・・・省略・・・・
  error: command 'swig' failed with exit status 1

  ----------------------------------------
  Failed building wheel for mecab-python3
  Running setup.py clean for mecab-python3
Failed to build mecab-python3
Installing collected packages: mecab-python3
  Running setup.py install for mecab-python3 ... error
    Complete output from command /usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-72x8lhhq/mecab-python3/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-8dwpaus1-record/install-record.txt --single-version-externally-managed --compile --user --prefix=:
    /usr/lib/python3.5/distutils/dist.py:261: UserWarning: Unknown distribution option: 'long_description_content_type'
      warnings.warn(msg)
    running install
    running build
    running build_py
    running build_ext
    building '_MeCab' extension
    swigging MeCab.i to MeCab_wrap.cpp
    swig -python -shadow -c++ -I/usr/include -o MeCab_wrap.cpp MeCab.i
    unable to execute 'swig': No such file or directory
    error: command 'swig' failed with exit status 1

    ----------------------------------------
Command "/usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-72x8lhhq/mecab-python3/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-8dwpaus1-record/install-record.txt --single-version-externally-managed --compile --user --prefix=" failed with error code 1 in /tmp/pip-build-72x8lhhq/mecab-python3/
```
error: command 'swig' failed with exit status 1と言われているので、swigをインストールする。

```code:【実行内容】
sudo apt-get install swig
```

```code:【出力】
省略（特にエラーが無ければOK）
```

再度mecab-python3のインストールを実行

```code:【実行内容】
sudo pip3 install mecab-python3
```

```code:【出力】
Collecting mecab-python3
  Downloading https://files.pythonhosted.org/packages/ac/48/295efe525df40cbc2173748eb869290e81a57e835bc41f6d3834fc5dad5f/mecab-python3-0.996.1.tar.gz
Building wheels for collected packages: mecab-python3
  Running setup.py bdist_wheel for mecab-python3 ... done
  Stored in directory: /root/.cache/pip/wheels/73/71/4f/63a79925b5e9bb38932043917cc60140beb8022ac14a952b1e
Successfully built mecab-python3
Installing collected packages: mecab-python3
Successfully installed mecab-python3-0.996.1
```
成功したっぽい！

# python3から実行してみる
```code:【実行内容】
# pythonを起動
python3
```

```code:【実行内容】
import MeCab
mecab = MeCab.Tagger ("-Ochasen")
print(mecab.parse("すもももふともももももももも"))
```

```code:【出力】
すもも	スモモ	すもも	名詞-一般
も	モ	も	助詞-係助詞
ふと	フト	ふと	副詞-一般
もも	モモ	もも	名詞-一般
も	モ	も	助詞-係助詞
もも	モモ	もも	名詞-一般
も	モ	も	助詞-係助詞
もも	モモ	もも	名詞-一般
の	ノ	の	助詞-連体化
うち	ウチ	うち	名詞-非自立-副詞可能
```
ちゃんと動いてる！！