繁体   English   中英

我使用 Paramiko 的 Python 脚本在 IDE (PyCharm) 和命令行中完美运行,但无法在 AWS Lambda 上运行

[英]My Python script using Paramiko runs perfectly in the IDE (PyCharm) and command line but doesn't run on AWS Lambda

我正在编写一个 Python 脚本(Mac OS 10.15.7 上的 Python 版本 3.7),我打算将它放在我们的 AWS Lambda 服务器上,并且该脚本使用 Paramiko。 它在我的 IDE 和命令行上运行得非常好,但是当我尝试在 Lambda 上运行它时,我收到以下错误消息:

{
  "errorMessage": "Unable to import module 'lambda_function': libs/bcrypt/_bcrypt.abi3.so: invalid ELF header",
  "errorType": "Runtime.ImportModuleError"
}

我在 Stack Overflow 上发现了这个类似的问题,但该问题的答案似乎不适用于这种情况,因为它们与 Windows 和不同的 Python 库相关。 但也许我错过了什么?

编辑:可能相关的是我的计算机安装了 Python 3.9,但我正在尝试用 Python 3.7 编写它。

我通过为 PySFTP/Paramiko 创建一个层来解决这个问题。

发生这种情况的原因是,当您运行“pip install paramiko”时,它会根据您的操作系统和计算机架构进行安装。 这可能与运行您的 Lambda 函数的架构不同。

我建议按照本指南正确创建层以与 Lambda 函数一起提供: https : //oznetnerd.com/2020/11/11/lambda-packaging-the-right-way/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM