質問編集履歴
3
誤字修正
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
|
2
|
+
pycryptodomeをインストールしているのですが、Lambdaの方では出てこなかったのはなんでか確認しています。
|
4
3
|
普通は同じ結果になるでしょうか?
|
5
4
|
|
6
5
|
**LambdaのPythonから実行**
|
2
dockerファイルを追記
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
参考追記
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
|
+
```
|