我正在编写一个从aws-lambda连接sftp服务器的简单脚本,我得到了
aws-lambda
Unable to import module 'lambda_function': No module named '_cffi_backend'
当我从aws-lambda导入pysftp时。我使用的是python3.6,仅导入pysftp我已经尝试安装cffi
pysftp
python3.6
python3 pip install cffi
des4xlb01#
我在python3.7上也遇到过同样的问题(cffi==1.11.2,密码学==2.1.2,paramiko==2.3.1),我把它**降级到python3.6就解决了。已在此问题主题中找到解决方案。
ajsxfq5m2#
您需要在Lambda包中包含第三方模块。转到pip保存模块数据的目录,找到您正在使用的模块,复制它们的目录并包含在Lambda zip文件中。然后再次在Lambda上部署并运行它。应该可以工作。
ghhaqwfi3#
这对我很有效,而且很容易修复。也许它能帮助别人。在尝试-pip 3-vvv安装--升级--强制重新安装cffi管道安装cffi我从一个工作环境中获取了以下模块_cffi_backend.cp39-win_amd64.pyd,并将其放入出现问题的缺失位置的站点包中。
nzk0hqpo4#
你需要把依赖项上传到lambda函数。你所需要做的就是创建一个文件夹,我们称之为'test',并把你的python代码放进去。然后,把所需的python包安装到同一个文件夹中。你可以使用下面的命令:pip install --target <path directory> <package name>这会将所需的软件包安装到指定的目录中。在您的示例中,命令将为pip install --target C:\test requests
pip install --target <path directory> <package name>
pip install --target C:\test requests
4条答案
按热度按时间des4xlb01#
我在python3.7上也遇到过同样的问题(cffi==1.11.2,密码学==2.1.2,paramiko==2.3.1),我把它**降级到python3.6就解决了。
已在此问题主题中找到解决方案。
ajsxfq5m2#
您需要在Lambda包中包含第三方模块。转到pip保存模块数据的目录,找到您正在使用的模块,复制它们的目录并包含在Lambda zip文件中。然后再次在Lambda上部署并运行它。应该可以工作。
ghhaqwfi3#
这对我很有效,而且很容易修复。也许它能帮助别人。
在尝试-
pip 3-vvv安装--升级--强制重新安装cffi
管道安装cffi
我从一个工作环境中获取了以下模块_cffi_backend.cp39-win_amd64.pyd,并将其放入出现问题的缺失位置的站点包中。
nzk0hqpo4#
你需要把依赖项上传到lambda函数。你所需要做的就是创建一个文件夹,我们称之为'test',并把你的python代码放进去。然后,把所需的python包安装到同一个文件夹中。你可以使用下面的命令:
pip install --target <path directory> <package name>
这会将所需的软件包安装到指定的目录中。在您的示例中,命令将为
pip install --target C:\test requests