質問編集履歴
6
蛇足
title
CHANGED
File without changes
|
body
CHANGED
@@ -47,4 +47,4 @@
|
|
47
47
|
- Lambdaのメモリ:256MB
|
48
48
|
|
49
49
|
### 蛇足
|
50
|
-
|
50
|
+
Google検索で引っかかった記事は全てを読んだのですが、Lambda上でOpenCVをインポートする基本の方法で止まっており、今回のようなエラー対応については書かれていませんでした。そのため藁にもすがる思いで、teratailで初めて質問させていただきました。もしどんなに小さな手がかりでもありましたら、ご教授いただけますと幸いです。
|
5
蛇足
title
CHANGED
File without changes
|
body
CHANGED
@@ -44,4 +44,7 @@
|
|
44
44
|
- LambdaでのPythonのバージョン:3.7
|
45
45
|
- OpenCV:3.4.5.20
|
46
46
|
- Lambdaのタイムアウト:1分
|
47
|
-
- Lambdaのメモリ:256MB
|
47
|
+
- Lambdaのメモリ:256MB
|
48
|
+
|
49
|
+
### 蛇足
|
50
|
+
このエラーのために一日を費やしてしまい、忸怩たる思いで夜空を眺めています。Google検索で引っかかった記事は全てを読んだのですが、Lambda上でOpenCVをインポートする基本の方法で止まっており、今回のようなエラー対応については書かれていませんでした。そのため藁にもすがる思いで、teratailで初めて質問させていただきました。もしどんなに小さな手がかりでもありましたら、ご教授いただけますと幸いです。
|
4
詳細な説明
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
【No module named 'cv2.cv2'】AWSのLambdaでOpenCVをimportできない
|
1
|
+
【No module named 'cv2.cv2'】AWSのLambdaでOpenCVをimportできない(Python3.7)
|
body
CHANGED
@@ -3,13 +3,22 @@
|
|
3
3
|
AWSのLambdaでOpenCVを使うため、自分のパソコン上でOpenCVのパッケージと実行したいコードをzipファイルにまとめ、S3に保存しました。
|
4
4
|
そしてLambdaの関数コードにS3のURLを指定することで、実行したのですが、以下のエラーメッセージが出力されました。
|
5
5
|
|
6
|
-
###
|
6
|
+
### エラーメッセージ
|
7
|
+
**エラー文**
|
8
|
+
```
|
9
|
+
[ERROR] Runtime.ImportModuleError: Unable to import module 'lambda_function': No module named 'cv2.cv2'
|
10
|
+
```
|
7
11
|
|
12
|
+
**ログ全文**
|
8
13
|
```
|
14
|
+
START RequestId: 58869885-9abd-4b18-8393-6d023d268637 Version: $LATEST
|
9
15
|
[ERROR] Runtime.ImportModuleError: Unable to import module 'lambda_function': No module named 'cv2.cv2'
|
16
|
+
END RequestId: 58869885-9abd-4b18-8393-6d023d268637
|
17
|
+
REPORT RequestId: 58869885-9abd-4b18-8393-6d023d268637 Duration: 1.59 ms Billed Duration: 2 ms Memory Size: 256 MB Max Memory Used: 66 MB Init Duration: 294.98 ms
|
10
18
|
```
|
11
|
-
S3に保存したzipファイル内には、lambda_function.pyというメインのPythonファイルがあり、その中で`import cv2`をしています。
|
12
19
|
|
20
|
+
※S3に保存したzipファイル内に、lambda_function.pyというメインのPythonファイルがあり、その中で`import cv2`をしています。
|
21
|
+
|
13
22
|
### 試したこと
|
14
23
|
OpenCVのバージョンや他のパッケージとの整合性に問題があるかと思い、以下の2点で変更を加えましたが、上手く行きませんでした。
|
15
24
|
- `import opencv-python -t .`から`pip install opencv-python==3.4.5.20 -t .`に変更
|
@@ -33,4 +42,6 @@
|
|
33
42
|
|
34
43
|
- 仮想環境でのPythonのバージョン:3.7.6
|
35
44
|
- LambdaでのPythonのバージョン:3.7
|
36
|
-
- OpenCV:3.4.5.20
|
45
|
+
- OpenCV:3.4.5.20
|
46
|
+
- Lambdaのタイムアウト:1分
|
47
|
+
- Lambdaのメモリ:256MB
|
3
詳細な説明
title
CHANGED
File without changes
|
body
CHANGED
@@ -11,9 +11,24 @@
|
|
11
11
|
S3に保存したzipファイル内には、lambda_function.pyというメインのPythonファイルがあり、その中で`import cv2`をしています。
|
12
12
|
|
13
13
|
### 試したこと
|
14
|
+
OpenCVのバージョンや他のパッケージとの整合性に問題があるかと思い、以下の2点で変更を加えましたが、上手く行きませんでした。
|
14
15
|
- `import opencv-python -t .`から`pip install opencv-python==3.4.5.20 -t .`に変更
|
15
16
|
- `python3 venv (仮想環境名)`で仮想環境を作成し、仮想環境上でpip installコマンドを実行
|
16
17
|
|
18
|
+
ローカルでは`import cv2`でエラーにはならず、実行したい`lambda_function.py`も処理ができています。
|
19
|
+
|
20
|
+
### S3上のzipファイルの中身
|
21
|
+
**lambda-package.zip**
|
22
|
+
- lambda_function.py
|
23
|
+
- bin
|
24
|
+
- cv2
|
25
|
+
- include
|
26
|
+
- lib
|
27
|
+
- numpy
|
28
|
+
- numpy-1.20.1.dist-info
|
29
|
+
- opencv_python-3.4.5.20.dist-info
|
30
|
+
- pyvenv.cfg
|
31
|
+
|
17
32
|
### 補足情報
|
18
33
|
|
19
34
|
- 仮想環境でのPythonのバージョン:3.7.6
|
2
タイトルの修正
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
AWSのLambdaでOpenCVをimport
|
1
|
+
【No module named 'cv2.cv2'】AWSのLambdaでOpenCVをimportできない
|
body
CHANGED
File without changes
|
1
題名の修正
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
AWSのLambdaでOpenCVをimport
|
1
|
+
AWSのLambdaでOpenCVをimportする方法
|
body
CHANGED
File without changes
|