当前位置: 首页 > 知识库问答 >
问题:

将PyNaCl导入Lambda函数-没有名为“\u cffi\u backend”的模块

罗甫
2023-03-14

我能够将我的PyNaCl库作为一个层添加到Lambda(Python 3.8)中,但是由于某种原因,当我尝试测试代码时,我得到了错误

“errorMessage:“无法导入模块‘lambda_函数’:没有名为“\u cffi_backend”的模块,”errorType:“Runtime.ImportModuleError”

现在,当我在本地使用PyCharm并将PyNaCl库安装到venv中时,我没有执行错误。Lambda是否要求文件层次结构不同?我将库压缩为/lib/python3。8/包含唯一库的站点包为PyNaCl

共有2个答案

陶宜民
2023-03-14

Lambda要求层. zip归档目录结构以pythondir开始。通常起作用的是:

mkdir python
pip install pynacl -t python

这将创建正确的结构。压缩和上传作为一个层。

或者,您可以使用依赖项构建docker映像,并在lambda中使用它:https://docs.aws.amazon.com/lambda/latest/dg/images-create.html

东博瀚
2023-03-14

您的问题可能有两个原因:

>

如果(1)不起作用,这可能是您使用的库是在与Amazon Lambda不兼容的平台上编译的。Amazon Lambda基于AmazonLinux。一个简单的方法是使用AWS提供的docker文件创建docker映像(请注意您的python版本):

https://docs.aws.amazon.com/lambda/latest/dg/python-image.html

然后在容器中编译PyNaCl库,取出已编译的库文件并再次进行上载。

 类似资料:
  • 导入PyPDF2时出错(没有名为的模块)。我尝试安装Python版本。2、也不工作。我想这个问题可能和安装模块的路径有关,但我无法更改它。。。或者使用Python版本,因为文档中提到了3.2-3.5版 https://pythonhosted.org/PyPDF2/AboutPyPDF2。html 指令 C:\Users\Xiaomi C:\Users\Xiaomi 导入PyPDF2 Module

  • 问题内容: 我有一个与此问题非常相似的问题,但仍落后了一步。我在Windows 7( 对不起 )64位系统上仅安装了一个Python 3版本。 我在此链接后安装了numpy-如问题中所述。安装进行得很好,但是当我执行时 我收到以下错误: 导入错误:没有名为numpy的模块 我知道这可能是一个超级基本的问题,但我仍在学习。 谢谢 问题答案: NumPy版本1.5.0中添加了对Python 3的支持

  • 问题内容: 运行test.py时出现此错误 如何纠正? test.py的 代码块: 问题答案: 您正在Python 3上运行Python 2代码。在Python 3中,该模块已重命名为。 您可以尝试在代码上运行该工具,并尝试使其自动翻译。对的引用将自动重写为使用。

  • 问题内容: 我正在使用centos linux。 我有Django的python 2.6,现在我升级到了python 2.7。 Python 2.6位于/usr/lib/python2.6中。 Python 2.7位于/usr/local/lib/python2.7中。 它们都具有site-packages目录,并且都包含django 1.2。 如果我运行python,我将获得2.7版本。 我的问

  • 问题内容: 我看到很多这些错误。我已经尝试了所有我想做的事情,但还没有弄清楚。 我正在开发运行python 2.5和Django 1.3的开发服务器。在解压缩tar.gz下载文件后,使用python setup.py install安装了Django 1.3。 一切正常,我很少需要运行,但是尝试使用新的应用程序,并且遇到了问题。 好的,所以我有PATH问题。 从Django安装程序中,我再次检查目

  • 这是我第一次真正坐下来尝试Python3,但似乎失败得很惨。我有以下两个文件: test.py config.py 配置。py中定义了一些函数和一些变量。我将其精简为以下内容: 配置。派克 测验派克 我也有一个 但是,我得到了以下错误: 我知道py3约定是使用绝对导入: 但是,这会导致以下错误: 所以我不知道该在这里做什么...任何帮助都非常感谢。:)