Mak*_*tel 2 python matplotlib amazon-web-services aws-lambda aws-lambda-layers
我尝试在 python/lib/python3.7/site-packages/{matplotlib here} 中压缩和构建 zip 但它说无法导入 matplotlib/ init_ .py中的 ft2font
有趣的是,我的包中没有其他具有该名称的文件。我尝试在不同的操作系统上安装 pip install 和 pip3 install 但没有成功
小智 8
我按照以下步骤使用 docker 为 AWS lambda 创建了一个 matplotlib 层:
sudo docker pull amazonlinux
sudo docker run -it amazonlinux:latest /bin/bash
# inside container
yum -y install python37 zip
python3 -m venv python
source python/bin/activate
pip3 install matplotlib
deactivate
rm -rf python/{bin,include,lib64,pyvenv.cfg} python/lib/python3.7/site-packages/{__pycache__,easy_install.py,numpy*,pip*,pkg_resources,setuptools*}
zip -r aws_lambda_python37_layer_matplotlib.zip python/
# in other terminal, copy file from container to host
CONTAINER_ID=$(sudo docker ps|grep amazonlinux|cut -d " " -f1)
sudo docker cp ${CONTAINER_ID}:/aws_lambda_python37_layer_matplotlib.zip .
# exit container
exit
Run Code Online (Sandbox Code Playgroud)
请注意,此脚本从该层中删除了 numpy,由于单个 lambda 层的大小限制,这是必需的。因此,您还需要在 lambda 函数中启用 AWS 的官方 numpy/scipy 层。
您也可以在小型 EC2 实例上执行此操作,无需使用 docker。您可以在此处找到生成的 zip:https ://github.com/ttor/aws_lambda_python37_layer_matplotlib
| 归档时间: |
|
| 查看次数: |
4569 次 |
| 最近记录: |