python 如何修复从aws-lambda导入pysftp时的导入错误“没有名为'_cffi_backend'的模块“

vd8tlhqk  于 2022-12-17  发布在  Python
关注(0)|答案(4)|浏览(339)

我正在编写一个从aws-lambda连接sftp服务器的简单脚本,我得到了

Unable to import module 'lambda_function': No module named '_cffi_backend'

当我从aws-lambda导入pysftp时。我使用的是python3.6,仅导入pysftp
我已经尝试安装cffi

python3 pip install cffi
des4xlb0

des4xlb01#

我在python3.7上也遇到过同样的问题(cffi==1.11.2,密码学==2.1.2,paramiko==2.3.1),我把它**降级到python3.6就解决了。
已在此问题主题中找到解决方案。

ajsxfq5m

ajsxfq5m2#

您需要在Lambda包中包含第三方模块。转到pip保存模块数据的目录,找到您正在使用的模块,复制它们的目录并包含在Lambda zip文件中。然后再次在Lambda上部署并运行它。应该可以工作。

ghhaqwfi

ghhaqwfi3#

这对我很有效,而且很容易修复。也许它能帮助别人。
在尝试-
pip 3-vvv安装--升级--强制重新安装cffi
管道安装cffi
我从一个工作环境中获取了以下模块_cffi_backend.cp39-win_amd64.pyd,并将其放入出现问题的缺失位置的站点包中。

nzk0hqpo

nzk0hqpo4#

你需要把依赖项上传到lambda函数。你所需要做的就是创建一个文件夹,我们称之为'test',并把你的python代码放进去。然后,把所需的python包安装到同一个文件夹中。你可以使用下面的命令:
pip install --target <path directory> <package name>
这会将所需的软件包安装到指定的目录中。在您的示例中,命令将为
pip install --target C:\test requests

相关问题