質問編集履歴

3

誤字修正

2022/08/23 04:46

投稿

jetstream
jetstream

スコア65

test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,5 @@
1
- ローカルのdockerコンテナのPythonコードをaws cloudformationでAWS Lambdaにデプロイしました。
1
+ ローカルのdockerコンテナのPythonコードをaws cloudformationでAWS Lambdaにデプロイしたのですが、pip listの実行結果に差異がありました(下記)
2
- 下記のpip listを実行したところ、差異がありました。
3
- pycryptodomeインストールされているはずなのですが、Lambdaの方では出てこなのはなんでか確認しています。
2
+ pycryptodomeインストールているのですが、Lambdaの方では出てこなかったのはなんでか確認しています。
4
3
  普通は同じ結果になるでしょうか?
5
4
 
6
5
  **LambdaのPythonから実行**

2

dockerファイルを追記

2022/08/23 04:44

投稿

jetstream
jetstream

スコア65

test CHANGED
File without changes
test CHANGED
@@ -82,3 +82,59 @@
82
82
  cp = subprocess.run('pip list', shell=True, capture_output=True, text=True)
83
83
  print(cp.stdout)
84
84
  ```
85
+
86
+ dockerファイルは下記になります。
87
+
88
+ ```ここに言語を入力
89
+ FROM amazonlinux:latest
90
+
91
+ #--------------------------
92
+ # 依存パッケージインストール
93
+ #--------------------------
94
+ ENV PYENV_ROOT $HOME/.pyenv
95
+ ENV PATH $PYENV_ROOT/shims:$PYENV_ROOT/bin:$PATH
96
+ RUN yum -y update && \
97
+ yum -y groupinstall "Development Tools" && \
98
+ # pip install --upgrade pip && \
99
+ yum -y install openssl-devel sqlite-devel wget git libffi-devel && \
100
+ git clone https://github.com/yyuu/pyenv.git .pyenv && \
101
+ pyenv install 3.9.10 && \
102
+ pyenv install 2.7.14 && \
103
+ pyenv global 3.9.10 && \
104
+ pyenv rehash
105
+
106
+ #--------------------------
107
+ # AWS CLI インストール
108
+ #--------------------------
109
+ RUN curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" && \
110
+ unzip awscliv2.zip && \
111
+ ./aws/install
112
+
113
+ #--------------------------
114
+ # プロジェクトフォルダ作成
115
+ #--------------------------
116
+ ARG project_dir=/opt/test
117
+ RUN mkdir $project_dir && \
118
+ mkdir $project_dir/resource && \
119
+ mkdir $project_dir/unittest
120
+ ADD requirements.txt requirements.txt
121
+ RUN pip install --upgrade pip && \
122
+ pip install --default-timeout=1000 -r requirements.txt
123
+
124
+
125
+ #--------------------------
126
+ # テスト設定
127
+ #--------------------------
128
+ ENV PYTHONPATH $PYTHONPATH:$project_dir/unittest/src
129
+ ENV PYTHONPATH $PYTHONPATH:$project_dir/unittest/lib
130
+ ENV PYTHONPATH $PYTHONPATH:$project_dir/unittest/utility
131
+
132
+ #--------------------------
133
+ # OS設定
134
+ #--------------------------
135
+ RUN echo "alias ll='ls -la'" >> ~/.bash_profile
136
+ RUN echo "export LANG=en_US.UTF-8" >> ~/.bash_profile
137
+
138
+ WORKDIR $project_dir
139
+ ```
140
+

1

参考追記

2022/08/23 04:28

投稿

jetstream
jetstream

スコア65

test CHANGED
File without changes
test CHANGED
@@ -72,3 +72,13 @@
72
72
  Werkzeug 2.2.2
73
73
  xmltodict 0.13.0
74
74
  ```
75
+
76
+ 【参考】
77
+ LambdaのPythonから pip list コマンドを実行したコードは下記になります。
78
+
79
+ ```Python
80
+ import subprocess
81
+ def lambda_handler(event, context):
82
+ cp = subprocess.run('pip list', shell=True, capture_output=True, text=True)
83
+ print(cp.stdout)
84
+ ```