Как сжать большой python пакет для AWS лямбда-слоя? - PullRequest
1 голос
/ 17 апреля 2020

Я пытаюсь развернуть пакет python с большими двоичными зависимостями, такими как numpy, scipy, astropy, pandas, et c ... Размер zip-файла превышает 400 МБ поэтому мне нужно уменьшить его размер ниже 250 МБ, чтобы иметь возможность развернуть его на лямбда-слой из S3.

Я знаю, что могу удалить тесты, документы и каталоги pycache с помощью чего-то вроде

find -name "tests" -type d | xargs rm -rf
find -name "docs" -type d | xargs rm -rf
find -name "__pycache__" -type d | xargs rm -rf

, но этого недостаточно ...

Теоретически возможно удалить * Файлы .py c и * .so? Я знаю, что, например, serverless-framework с serverless-python-requirements предлагает опцию slim для упаковки зависимостей, удаляя все файлы * .py c и * .so. Но я думаю, что Lambda-среде нужны эти файлы ... Я не хочу использовать какие-либо фреймворки, если это возможно, и я могу в конечном итоге запустить docker для создания бинарных файлов из лямбда-совместимого образа (сейчас я работаю из WSL). Я перепробовал много вещей, но они не работают, я не уверен, почему ...

Я действительно ценю любую помощь, чтобы понять, что это возможно, а что нет, чтобы развернуть такой огромный пакет в Lambda ...

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