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
专家
已提问 5 个月前3 查看次数
1 回答
0

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

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

profile picture
专家
已回答 5 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则