HaneCa

独り立ちへ向けた長い道

mecabをaws lambdaへインストールする方法 (書きかけ)

投稿日: 2020年5月24日

ここでは、形態素解析のライブラリであるmecabをaws lambdaへインストールする方法を紹介します。

今回、mecabをlambdaにインストールするにあたって、環境構築をする機器にMacbookを利用しました。そのため、macのコンパイラを利用してmecabをコンパイルしてしまうと、lambda上では動かず、amazon LinuxをMac Mojave上に構築するところから始めました。

Mac上でamazon linux環境を構築する方法

まず、amazon linux環境を、VirtualBoxとVagrantを利用してmac上に仮想環境として構築しました。VirtualBoxとVagrantをインストールする方法は過去にここで書いています。

ここでインストールの際に次のようなエラーが発生することがあります。これは、Mojaveのセキュリティの機能である信頼した開発元以外からのアプリケーションのインストールを防止するための機能が働いたためです。

この問題を解決するためには、System Preferences > Security & Privacyを開くと、VirtualBoxのインストールがブロックされたという内容の表示があるので、「allow」ボタンを押すことで解決します。

次にamazon linuxをインストールするため、次のコマンドを実行します。

ここで、インストールして初めてVirtualBoxを利用する場合、vagrant upで仮想マシンを起動しようとすると、次のようなエラーが発生することがあります。

これも先ほどと同様に、セキュリティの機能が働いて、機能が動くのをブロックされたのが原因です。System Preferences > Security & Privacyを、もう一度、確認してください。

正しく仮想マシンが立ち上がると、vagrant sshとコマンドを実行すると、立ち上がった仮想マシンにログインすることができます。

Python 3.6のインストール

まず、最初の状態では、このAmazon linuxはpython 2.7しかインストールされていません。AWS Lambdaでは3.6が利用されているため、Python 3.6をインストールすることにしました。

単にyumでインストールしようとした場合、 3.4か3.5しかインストールできないため、今回はシェルスクリプトを作成してインストールすることにしました。

何をどのような手順でインストールすれば良いかについては、ここが参考になります。というか、そのままコピペして実行しました。まず、python3.shという名前のシェルスクリプトを次のように作成しました。

オリジナルの記事では、virtualenvのインストールまで書かれていましたが、今回は省略することにしました。

mecabを含むlambda関数の準備

次に、mecabを含むlambda関数の準備について説明します。まず、linuxのパッケージのバージョンを最新のものにして、mecabのインストールに必要なパッケージをインストールします。

次にmecabの必要なパッケージをダウンロードします。

mecab本体ipaライブラリをダウンロードします。

 

 

参考サイト

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください