モチベーション
Mecabを使って何かやりたい。が、ローカル環境を汚したくない。EC2を新しく建てるのも面倒だ。
→ そうだ。SageMakerのノートブックインスタンス環境にMecabを入れよう!
ということで下記のサイトを参考にやってみたが、なかなか上手く行かなかったので備忘として残しておく。
https://www.yoshiislandblog.net/2018/03/21/amazon-linux_mecab/
Mecabが入らない
# sudo rpm -ivh http://packages.groonga.org/centos/groonga-release-1.1.0-1.noarch.rpm
# yum -y install mecab mecab-ipadic mecab-devel
上記を素直に実行すると下記のエラーが。そもそもなぜこんなURLにアクセスに行っているかがわからない。ブラウザで確認するとcentos/
配下には2017.09
というディレクトリは無く、latest
があるのみである。
failure: repodata/repomd.xml from groonga: [Errno 256] No more mirrors to try.
http://packages.groonga.org/centos/2017.09/x86_64/repodata/repomd.xml: [Errno 14] HTTP Error 404 - Not Found
もろもろGoogleを彷徨った結果、/etc/yum.conf
の以下の部分のreleasever=2017.09
をreleasever=latest
に書き換えることによって処理が成功するようになった。
# by default the yum configuration will point to the latest release
# of Amazon Linux AMI. If you prefer not to automatically move to
# new releases, comment out this line.
releasever=2017.09
なぜこんなことをしなければならないのか、については正直わからない。ノートブックインスタンスの場合、Amazon Linuxのアップデートのポリシーが違うんだろうか。
mecab-python3が入らない
pip install mecab-python3
で簡単に入るはずが、手順通りにgccとgcc-c++をあらかじめ用意しているにも関わらず、コンパイル時にエラーが出てインストールできない。
https://stackoverflow.com/questions/36353302/gcc-cannot-find-cc1plus/36353331
上記サイトによると、なぜかgcc-c++
がパスが通っていない場所に配置されてしまっている様子。
以下にてgcc-c++
のパスを通してやると無事インストールできるようになった。
sudo ln -s /usr/libexec/gcc/x86_64-amazon-linux/4.8.5/cc1plus /usr/local/bin/
これについても、ぶっちゃけこんな場当たり的な対応でいいのかなぁー、という気持ちになる。
そして
この記事を投稿してから以下のような記事が既にQiitaに存在していたことに気付いた。
灯台下暮らし。最初にこれを読んでいれば1-2時間短縮できたな。