Lambda函数失败,提示“无法从'lxml'中导入名称'etree' (/var/task/lxml/__init__.py)”。

0

【以下的问题经过翻译处理】 我正在使用虚拟环境在Windows 10上创建一个lambda函数。我将site-packages添加到一个.zip压缩文件中,并更新lambda函数。

目前,这个过程失败了,报错为“无法从'lxml'(/var/task/lxml/init.py)导入名称'etree'”。

我的虚拟环境使用Python 3.8,lambda的运行时环境也是Python 3.8。一些之前的解决方案建议将lambda的运行时环境设置为Python 3.6,但现在3.6已经不能选择了。我已经尝试了3.7和3.9,但问题仍然存在。其他关于re:Post的解决方案讨论docker容器而不是zip归档文件以及Linux环境而不是Windows环境。

profile picture
專家
已提問 6 個月前檢視次數 5 次
1 個回答
0

【以下的回答经过翻译处理】 我通过下面的方式解决了这个问题:启动一个ec2机器,创建一个名为python的目录,使用pip3安装我需要的库,从python目录中创建一个.Zip文件,将该.Zip文件上传到s3。从那里,我可以使用.Zip文件创建aws lambda的层(layer)。

如果您遇到类似的问题,可能是因为您正在使用Mac OS或Windows构建库。更好的做法是使用Amazon AMI机器,以确保与Lambda的兼容性。

profile picture
專家
已回答 6 個月前

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南