Загрузка библиотек Python в AWS lambda с использованием Makefile - PullRequest
0 голосов
/ 22 мая 2018

Я слежу за видео на YouTube для загрузки библиотек python в AWS Lambda.Youtuber создал этот MakeFile, который создал папку с именем «package», в ней папку «tmp» и (PROJECT) .zip:

install: virtual

build: clean_package copy_python build_package_tmp remove_unused zip

virtual:
    @echo "--> Setup and activate virtualenv"
    if test ! -d "$(VIRTUAL_ENV)"; then pip install virtualenv; 
virtualenv $(VIRTUAL_ENV); fi
    @echo ""

clean_package:
    rm -rf ./package/*

build_package_tmp:
    mkdir -p ./package/tmp/lib
    cp -R ./$(PROJECT)/. ./package/tmp/

copy_python:
    if test -d $(VIRTUAL_ENV)lib; then \
        cp -a $(VIRTUAL)/lib/python2.7/site-packages/. ./package/tmp/;
    fi  

    if test -d $(VIRTUAL_ENV)/lib64; then \
        cp -a $(VIRTUAL)/lib/python2.7/site-packages/. ./package/tmp/
    fi

remove_unused:
    rm -rf ./package/tmp/wheel*
    rm -rf ./package/tmp/easy-install*
    rm -rf ./package/tmp/setup-tools*

zip:
    cd ./package/tmp && zip -r ../$(PROJECT).zip .  

Я получил эту ошибку на консоли Linux:

$make -f Maketest.mk build
rm -rf ./package/*
if test -d envlib; then \
    cp -a /lib/python2.7/site-packages/. ./package/tmp/; thenif test -d env/lib64/python2.7/site-packages/. ./package/tmp/; fi
mkdir -p ./package/tmp/lib
cp -R ./AWS/. ./package/tmp/
cp: cannot stat './AWS/.': No such file or directory
Maketest.mk:21: recipe for target 'build_package_tmp' failed
make: *** [build_package_tmp] Error 1

«Пакет» создан, только с пустым «tmp».

PS: я новичок в AWS Lambda, поэтому, если есть лучший способ загрузки с использованием консоли Linux,Буду очень признателен:)

1 Ответ

0 голосов
/ 22 мая 2018

В AWS имеется более понятная документация о том, как загружать зависимые от Python файлы библиотеки в лямбду,

https://docs.aws.amazon.com/lambda/latest/dg/with-s3-example-deployment-pkg.html#with-s3-example-deployment-pkg-python

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...