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달 전

로그인하지 않았습니다. 로그인해야 답변을 게시할 수 있습니다.

좋은 답변은 질문에 명확하게 답하고 건설적인 피드백을 제공하며 질문자의 전문적인 성장을 장려합니다.

질문 답변하기에 대한 가이드라인

관련 콘텐츠