Installieren Sie die Python-Bibliothek auf Lambda mit [/ tmp]

Problem

Die Größenbeschränkung für das Lambda-Bereitstellungspaket darf 250 MB nicht überschreiten.

Lösungen

Erstellen Sie eine Lambda-Ebene Installieren Sie die Bibliothek mit dem Lambda-Ordner / tmp. Dieses Mal werde ich Methode 2 erklären.

Erstellen Sie die Datei require.txt

requirements-lambda.txt


numpy==1.16.3

create.sh


#!/bin/bash

if [ -d "deploy" ]; then rm -Rf deploy; fi
mkdir deploy
pip install -r requirements-lambda.txt -t deploy/requirements-lambda/
cd deploy/requirements-lambda
rm -r PIL
rm -r Pillow*
zip -9 -r ../lambda-requirements.zip .
cd ..
rm -r requirements-lambda

Entpacken, um das Programm auf Lambda zu verarbeiten (Größe weniger als 50 MB)

handle.py


import os
import sys
import zipfile

pkgdir = '/tmp/requirements'
zip_requirements = 'lambda-requirements.zip'

if os.environ.get("AWS_EXECUTION_ENV") is not None:
    if not os.path.exists(pkgdir):

        root = os.environ.get('LAMBDA_TASK_ROOT', os.getcwd())
        zip_requirements = os.path.join(root, zip_requirements)
        zipfile.ZipFile(zip_requirements, 'r').extractall(pkgdir)

        sys.path.append(pkgdir)

Download von S3 und Unzip (Größe ist 50 MB oder mehr)

handle.py


import boto3
import os
import sys
import zipfile

REQUIREMENTS_BUCKET_NAME = ''
REQUIREMENTS_KEY = ''

pkgdir = '/tmp/requirements'
zip_requirements = '/tmp/lambda-requirements.zip'

sys.path.append(pkgdir)

if os.environ.get("AWS_EXECUTION_ENV") is not None:
    if not os.path.exists(pkgdir):

        s3 = boto3.resource('s3')
        bucket = s3.Bucket(REQUIREMENTS_BUCKET_NAME)
        bucket.download_file(REQUIREMENTS_KEY, zip_requirements)

        zipfile.ZipFile(zip_requirements, 'r').extractall(pkgdir)
        os.remove('zip_requirements')

        sys.path.append(pkgdir)

Recommended Posts

Installieren Sie die Python-Bibliothek auf Lambda mit [/ tmp]
Installieren Sie Python unter CentOS mit Pyenv
Installieren Sie Python unter CentOS mit pyenv
Installieren Sie Python auf der WSL
Installieren Sie Python auf Pidora.
Installieren Sie Scrapy auf Python3
Installieren Sie Python auf dem Mac
Installieren von Python 3 in einer Mac-Umgebung
Installieren Sie Python3.4 unter CentOS 6.6
Installieren einer externen Bibliothek für Python
Installieren Sie Python unter Windows
Installieren Sie Python 2.7.3 unter CentOS 5.4
Installieren Sie Python 3.3 unter Ubuntu 12.04
Installieren Sie Python 3.4 auf einem Mac
Installieren Sie Python 3.6 auf Docker
Installieren Sie Python 3.8.6 unter macOS BigSur mit pyenv
Installieren Sie psycopg2 (pgsql-Bibliothek für Python3) auf Apple Silicon
Installieren Sie Python 3.8 auf RHEL 8 (AppStream)
Installieren Sie pygame auf python3.4 auf dem Mac
Windows 10: Installieren der DLIB-Bibliothek für Python
Installieren Sie Python 3.8 unter CentOS 7 (SCL)
Installieren Sie die Python-Bibliothek eines Drittanbieters auf Cinema4D
Überprüfen Sie types_map, wenn Sie Mimetypen mit AWS Lambda (Python) verwenden.
Installieren Sie pandas 0.14 auf python3.4 [auf Mac]
Installieren Sie OpenCV unter Ubuntu + Python
Python - Installieren Sie MySQLDB auf EC2
Installieren Sie Python 3.8 unter CentOS 8 (AppStream)
Online-Übertragung mit Python
[Python] [Chainer] [Windows] Chainer unter Windows installieren
Installieren Sie PyCall auf Raspberry PI und versuchen Sie, die GPIO-Bibliothek für Python von Ruby zu verwenden
Installieren Sie Python3 und die wissenschaftliche Berechnungsbibliothek unter Ubuntu (virtualenv + pip)
So installieren Sie Python mit Anaconda
Zusammenfassung bei Verwendung von AWS Lambda (Python)
Installieren Sie Python 3 auf dem Sakura-Server (FreeBSD)
Installieren Sie anaconda auf dem Mac → Bibliothek hinzufügen
Installieren Sie Python 3.8 unter Ubuntu 20.04 (Betriebssystemstandard)
Python2.7-Installation in einer Windows 32-Bit-Umgebung
Hinweise zur Verwendung von MeCab aus Python
Installieren Sie xgboost (Python-Version) unter Windows
Installieren Sie Python unter Windows + pip + virtualenv
Installieren Sie Pytorch unter Blender 2.90 Python unter Windows
Installieren Sie Python 3.7 Anaconda auf dem MAC, aber Python 2
Installieren Sie python3 auf einem Mac (El Capitan)
Führen Sie Python planmäßig auf AWS Lambda aus
Windows 10: Installieren der MeCab-Bibliothek für Python
Studie über die Miete in Tokio mit Python (3-2)
Hinweise zur Installation von Python mit PyEnv
Hinweise zur Verwendung von rstrip mit Python.
Installieren Sie Python 3.9 unter Ubuntu 20.04 (Betriebssystemstandard?)
Installieren Sie die Python-Entwicklungsumgebung unter Windows 10
Installieren Sie Confluent-Kafka für Python unter Ubuntu
Studie über die Miete in Tokio mit Python (3-3)
Installieren Sie das Python Framework Django mit pip
Installieren Sie Python 2.7 unter Ubuntu 20.04 (Betriebssystemstandard?)
Schritte zum Installieren von python3 auf einem Mac
Installieren Sie Python
Hinweise zur Verwendung von OpenCV mit Windows 10 Python 3.8.3.
[AWS] Verwenden von INI-Dateien mit Lambda [Python]