我正在研究一个简单的脚本,以从aws-lambda
连接我的sftp服务器,并且得到
Unable to import module 'lambda_function': No module named '_cffi_backend'
当我从pysftp
导入aws-lambda
时。我正在使用python3.6
,仅导入pysftp
我已经尝试安装cffi
python3 pip install cffi
答案 0 :(得分:1)
您需要在Lambda软件包中包括第三方模块。转到pip保留模块数据的目录,找到正在使用的模块,复制其目录,并将其包含在Lambda zip文件中。然后在Lambda上再次部署并运行它。应该可以。
答案 1 :(得分:0)
您需要将依赖项上载到lambda函数。您需要做的就是创建一个文件夹,将其称为“ test”,然后将python代码放入其中。然后,将所需的python软件包安装到同一文件夹中。您可以使用以下命令进行操作:
pip install --target <path directory> <package name>
这会将所需的软件包安装到指定目录中。在您的情况下,命令将为
pip install --target C:\test requests
答案 2 :(得分:0)
我在python 3.7(cffi == 1.11.2,cryptography == 2.1.2,paramiko == 2.3.1)上遇到了同样的问题,并解决了降级到python 3.6的问题
在此issue主题中找到了解决方案。
答案 3 :(得分:0)
我通过在 AWS 控制台中为现有层创建新版本来解决此问题。添加新版本后,我编辑了当前图层的版本。这解决了我的问题。