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
EXPERTE
gefragt vor 6 Monaten5 Aufrufe
1 Antwort
0

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

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

profile picture
EXPERTE
beantwortet vor 6 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen