Это идеальный вариант использования для docker. У меня MacOS, и у меня та же проблема, что и для любой зависимости Python, для которой требуются собственные двоичные файлы, я не могу собрать их на своем Ma c и ожидать, что они будут работать в AWS Linux среде выполнения
В Amazon есть контейнер docker, соответствующий среде выполнения лямбды, поэтому вы можете использовать его для создания слоя.
Образ docker, который вы хотите использовать, - lambci / lambda особенно теги с префиксом build-python
, поскольку они имеют различную среду python (2.7, 3.6, 3.7).
Предполагается, что у вас есть requirements.txt
с необходимыми библиотеками, в которые вы хотите установить pip. на вашем уровне, вот пример команды docker для запуска в том же каталоге, что и requirements.txt
, которая установит библиотеки в pip и соберет их во время выполнения AWS Lambda.
docker run --rm -v `pwd`:/var/task:z lambci/lambda:build-python3.6 python3.6 \
-m pip --isolated install -t python -r requirements.txt