python-3.6 - Lambda 函数因 /lib64/libc.so.6 失败:未找到版本“GLIBC_2.18”
问题描述
我正在尝试在 AWS lambda 中创建一层 simple-salesforce(Python 库),并尝试从我的 python 代码中使用它(导入它)。我有windows机器。
虽然我读到编译窗口可能存在问题,所以我从 Windows 商店安装了 ubuntu1804,然后继续为 lambda 层创建 zip。(zip是为结构为“python/lib/python3.6/site-packages/......”的python文件夹创建的)
我正在使用 Python 3.6。我浏览了几篇关于这个问题的文章,但可以找到任何解决方案。这个视频帮助我在 AWS 中成功地为 Pandas 和请求创建了一个层,并对我使用的 pip 命令进行了细微调整
sudo python3 -m pip install simple-salesforce -t build/python/lib/python3.6/site-packages
我用于简单销售人员的完全相同的过程,我得到以下错误如下:
无法导入模块“lambda_function”:/lib64/libc.so.6:未找到版本“GLIBC_2.18”(/opt/python/lib/python3.6/site-packages/cryptography/hazmat/bindings/_rust 需要.abi3.so)
编辑:-我尝试使用 .whl 的另一种方法虽然没有给出上述错误,但给出了“找不到请求模块”的错误,当我添加请求模块层时,它给出了错误 authlib not found。(如果我评论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 库,并使用请求(使用 Salesforce REST API)计算出所有逻辑。这不是很理想,但我可以让它工作,因为我有一些交付要满足。
推荐阅读
- https - 让我们加密 NET::ERR_CERT_INVALID
- python - ffpyplayer 图像到 QPixmap
- jenkins - Jenkinsfile 类 CascadeChoiceParameter 将我的数组作为字符串返回
- mysql - 查询 SQL 以获取每种类型的最新记录
- vb6 - 使用 VB6 将 Treeview1 中的缺失节点添加到 Treeview2
- php - PHP - 单个变量中数组列表的语法
- java - 为什么 Vaadin 14 中包含的 Guava 库没有出现在我的项目的类路径中?
- python - 方括号后跟大括号在类方法中是什么意思?
- java - 将 SortedSet 转换为以键为迭代器位置的 TreeMap 或 ImmutableMap
- mysql - 插件“根”未加载