Skip to main content
 首页 » 编程设计

python之在 AWS Lambda Python 函数上设置 Shapely

2025年05月04日19wayfarer

我尝试在 AWS Lambda 上设置 Shapely,但总是出现以下错误。

module initialization error: Could not find lib geos_c or load any of its variants ['libgeos_c.so.1', 'libgeos_c.so', '/usr/lib/libgeos_c.so']. 

不确定在这种情况下如何构建 shapely。在 Linux 实例上构建了我的包,并将其用于部署目的。

请您参考如下方法:

如果您希望构建自己的 Lambda 兼容二进制文件以用于您的部署包,AWS 会在此处说明构建它们所需的 AMI:

https://docs.aws.amazon.com/lambda/latest/dg/current-supported-versions.html

我已经使用该特定 AMI 创建了一个 EC2 实例,然后使用 pip 将我需要的包安装到目标文件夹 -t 中。完成后,我只需将其打包并用作我的部署包的基础,它就可以正常工作。

或者我已经从下载:https://github.com/ryfeus/lambda-packs 并复制了我需要的包。 (在 shapley 的情况下,是 shapely 和 shapely-1.6b4.dist-info 目录。

我相信这些目前只是为 Python 2.7 构建的,而且我只为 Python 2.7 使用上述 AMI 编译了二进制文件。

HTH