gpt4 book ai didi

python - 如何将 Python 库 'matplotlib' 部署为 AWS 中的 Lambda 层?

转载 作者:行者123 更新时间:2023-12-01 07:36:46 27 4
gpt4 key购买 nike

我尝试在 python/lib/python3.7/site-packages/{matplotlib here} 中压缩和构造 zip,但它说无法导入 matplotlib/init_ 中的 ft2font .py

有趣的是,我的包中没有其他具有该名称的文件。我在不同的操作系统上尝试了 pip install 和 pip3 install 但没有成功

最佳答案

我已经使用 docker 为 AWS lambda 创建了一个 matplotlib 层,如下 these steps :

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

请注意,此脚本从该层中删除了 numpy,由于单个 lambda 层的大小限制,这是必需的。因此,您还需要在 lambda 函数中启用 AWS 的官方 numpy/scipy 层。

您也可以在小型 EC2 实例上不使用 docker 来执行此操作。您可以在此处找到生成的 zip:https://github.com/ttor/aws_lambda_python37_layer_matplotlib

关于python - 如何将 Python 库 'matplotlib' 部署为 AWS 中的 Lambda 层?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56959987/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com