teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

手順(3)について具体的なコマンドを追加致しました。

2019/03/01 11:38

投稿

aizai2
aizai2

スコア10

title CHANGED
File without changes
body CHANGED
@@ -64,17 +64,19 @@
64
64
  settings.py
65
65
  local_settings.py
66
66
  var
67
- task
67
+ task
68
- __pycache__
69
- bin
70
- etc
71
- include
72
- lib
73
- libexec
74
- mecab_python3-0.996.1.dist-info
75
- share
76
68
 
69
+ taskの下
70
+ ├__pycache__
71
+ ├bin
72
+ ├etc
73
+ ├include
74
+ ├lib
75
+ ├libexec
76
+ ├mecab_python3-0.996.1.dist-info
77
+ └share
77
78
 
79
+
78
80
  mecabrcに記述されている内容
79
81
  ⇒dicdir = /var/task/lib/mecab/dic/ipadic
80
82
 

1

手順(1)と(2)について具体的なコマンドを追加致しました。

2019/03/01 11:38

投稿

aizai2
aizai2

スコア10

title CHANGED
File without changes
body CHANGED
@@ -9,10 +9,80 @@
9
9
 
10
10
  (1)Amazon SageMakerのターミナルを使って(Amazon Linux)、Mecab、IPA辞書、mecab-python-3をインストール。インストール先のフォルダは、/var/taskとしています。
11
11
 
12
+ フォルダ作成
13
+ ```
14
+ sudo mkdir task
15
+ cd ~
16
+ sudo ln -s /usr/libexec/gcc/x86_64-amazon-linux/4.8.5/cc1plus /usr/local/bin/
17
+ ```
18
+
19
+ MeCabのダウンロードとビルド
20
+ ```
21
+ curl -L "https://drive.google.com/uc?export=download&id=0B4y35FiV1wh7cENtOXlicTFaRUE" -o mecab-0.996.tar.gz
22
+ tar -zxvf mecab-0.996.tar.gz
23
+ cd mecab-0.996
24
+ sudo ./configure --prefix=/var/task --with-charset=utf8
25
+ sudo make
26
+ sudo make install
27
+ ```
28
+
29
+ IPA辞書のダウンロードとビルド
30
+ ```
31
+ cd ~
32
+ curl -L "https://drive.google.com/uc?export=download&id=0B4y35FiV1wh7MWVlSDBCSXZMTXM" -o mecab-ipadic-2.7.0-20070801.tar.gz
33
+ tar -zxvf mecab-ipadic-2.7.0-20070801.tar.gz
34
+ cd mecab-ipadic-2.7.0-20070801
35
+ sudo ./configure --prefix=/var/task --with-charset=utf8 --with-mecab-config=/var/task/bin/mecab-config
36
+ sudo make
37
+ sudo make install
38
+ ```
39
+
40
+ mecab-python-3のインストール
41
+ ```
42
+ cd ~
43
+ sudo rpm -ivh http://packages.groonga.org/centos/groonga-release-1.1.0-1.noarch.rpm
44
+ sudo yum makecache
45
+ sudo yum -y install mecab-devel
46
+
47
+
48
+ mkdir temp
49
+ cd temp
50
+
51
+ pip install mecab-python3 -t .
52
+
53
+ sudo mv ./* /var/task
54
+ ```
55
+
12
56
  (2)1のパックをZipで圧縮して一旦ローカルに落とし、Pycharmで書いたlambda_function.py、settings.py、local_settings.pyとまとめて再度Zipファイルを作成。
13
57
 
58
+ ```
59
+ zip /home/ec2-user/mecabpack -r var/task
60
+ ```
61
+
62
+ ローカル環境でZip化したフォルダ構成
63
+ lambda_function.py
64
+ settings.py
65
+ local_settings.py
66
+ var
67
+ task
68
+ __pycache__
69
+ bin
70
+ etc
71
+ include
72
+ lib
73
+ libexec
74
+ mecab_python3-0.996.1.dist-info
75
+ share
76
+
77
+
78
+ mecabrcに記述されている内容
79
+ ⇒dicdir = /var/task/lib/mecab/dic/ipadic
80
+
81
+
14
82
  (3)2をS3にアップロードした上でLambda関数を作成し、S3からZipファイルを解凍・コード生成。
15
83
 
84
+  ランタイム:Python3.6(後はディフォルトの設定をそのまま利用)
85
+
16
86
  (4)この状態でコンパイルできるかテストをしたところ、エラーが発生。import mecabで問題が起きてしまいます。
17
87
 
18
88
 
@@ -26,7 +96,8 @@
26
96
 
27
97
  ### 該当のソースコード
28
98
 
99
+ ```
29
- ```Python3.6
100
+ ##lambda_function.py
30
101
  # coding=utf-8
31
102
  import os
32
103
  import settings
@@ -46,11 +117,33 @@
46
117
 
47
118
 
48
119
  def lambda_handler(event, context):
49
- ## 何もしてません
50
120
  slack_comment = '金曜日は中華屋で台湾ラーメン&ミニチャーハン '
51
121
  return {"slack_comment": slack_comment}
52
122
  ```
53
123
 
124
+ ```
125
+ ## settings.py
126
+ import logging
127
+
128
+ DEBUG = False
129
+
130
+ LOG_LEVEL = logging.INFO
131
+
132
+ try:
133
+   from local_settings import *
134
+ except ImportError:
135
+   pass
136
+ ```
137
+
138
+ ```
139
+ ## local_settings.py
140
+ import logging
141
+
142
+ DEBUG = True
143
+
144
+ LOG_LEVEL = logging.DEBUG
145
+ ```
146
+
54
147
  ### 試したこと
55
148
 
56
149
  次の3つのどれかに問題があると考え、それぞれ対応を試みました。