Lambda 函数因 /lib64/libc.so.6 失败:未找到版本“GLIBC_2.18”

Lambda function failing with /lib64/libc.so.6: version `GLIBC_2.18' not found

我正在尝试在 AWS lambda 中创建一层简单的 salesforce(Python 库),并尝试从我的 python 代码中使用(导入)它。我有 windows 机器。

虽然我读到可能由于编译 windows 而出现问题,所以我从 windows 商店安装了 ubuntu1804,然后继续为 lambda 层创建 zip。 (zip 是为 python 文件夹创建的,结构为“python/lib/python3.6/site-packages/......”)

我正在使用 Python 3.6。我浏览了几篇关于这个问题的文章,但可以找到任何解决方案。 this Video 帮助我在 AWS 中为 Pandas 和请求成功创建了一个层,对我使用的 pip 命令进行了细微调整

sudo python3 -m pip install simple-salesforce -t build/python/lib/python3.6/site-packages

我在 Simple salesforce 中使用的过程完全相同,但我遇到的错误如下:

无法导入模块'lambda_function':/lib64/libc.so.6:未找到版本“GLIBC_2.18”(/opt/python/lib/python3.6 要求/site-packages/cryptography/hazmat/bindings/_rust.abi3.so)

编辑:-- 我尝试使用 .whl 的另一种方法虽然没有给出上述错误,但给出了“找不到请求模块”的错误,当我添加请求模块层时,它给出了找不到 authlib 的错误。 (如果我评论 salesforce 相关的东西,请求层工作正常。甚至尝试上传为简单层,我遇到了相同的 authlib 问题)

编辑: 我使用的 Lambda 代码如下

the code I am using is basic code which doesnt have any logic with empty imports

import json
import pandas as pd
import requests as req
from simple_salesforce.format import format_soql

def lambda_handler(event, context):
    #TODO

我将我的代码更改为不使用 simple_salesforce 库并使用 Requests(使用 Salesforce REST API)计算所有逻辑。 这不是很理想,但我可以让它工作,因为我有一些交货要满足。