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

質問編集履歴

6

蛇足

2021/02/18 23:26

投稿

tm_mm
tm_mm

スコア0

title CHANGED
File without changes
body CHANGED
@@ -47,4 +47,4 @@
47
47
  - Lambdaのメモリ:256MB
48
48
 
49
49
  ### 蛇足
50
- このエラーのために一日を費やしてしまい、忸怩たる思いで夜空を眺めています。Google検索で引っかかった記事は全てを読んだのですが、Lambda上でOpenCVをインポートする基本の方法で止まっており、今回のようなエラー対応については書かれていませんでした。そのため藁にもすがる思いで、teratailで初めて質問させていただきました。もしどんなに小さな手がかりでもありましたら、ご教授いただけますと幸いです。
50
+ Google検索で引っかかった記事は全てを読んだのですが、Lambda上でOpenCVをインポートする基本の方法で止まっており、今回のようなエラー対応については書かれていませんでした。そのため藁にもすがる思いで、teratailで初めて質問させていただきました。もしどんなに小さな手がかりでもありましたら、ご教授いただけますと幸いです。

5

蛇足

2021/02/18 23:26

投稿

tm_mm
tm_mm

スコア0

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

詳細な説明

2021/02/18 11:05

投稿

tm_mm
tm_mm

スコア0

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

詳細な説明

2021/02/18 10:55

投稿

tm_mm
tm_mm

スコア0

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

タイトルの修正

2021/02/18 10:46

投稿

tm_mm
tm_mm

スコア0

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

題名の修正

2021/02/18 10:35

投稿

tm_mm
tm_mm

スコア0

title CHANGED
@@ -1,1 +1,1 @@
1
- AWSのLambdaでOpenCVをimport時にエラー
1
+ AWSのLambdaでOpenCVをimportする方法
body CHANGED
File without changes