无法导入模块“lambda_function”:没有名为“psycopg2._psycopg aws lambda 函数”的模块

问题描述 投票:0回答:4

我已经用这个命令在我的包文件夹中安装了

psycopg2

pip install --target ./package psycopg2 # Or
pip install -t ./package psycopg2

现在

psycopg2
模块在我的包中,我已经创建了 zip 并将其上传到 AWS lambda 中。

在我的本地 sprint 中工作正常,但在 AWS lambda 上它不工作。

它告诉我错误

{
  "errorMessage": "Unable to import module 'lambda_function': No module named 'psycopg2._psycopg'",
  "errorType": "Runtime.ImportModuleError",
  "stackTrace": []
}

我的 lambda 代码是

import psycopg2

def lambda_handler():
   print('hello')

我的所有其他模块都工作正常

python aws-lambda psycopg2 python-3.8 psycopg3
4个回答
1
投票

添加这个库

pip install aws-psycopg2

0
投票

我在 Mac 上为图层创建虚拟环境时遇到了同样的问题。为了解决这个问题,我使用了下面的命令。

pip 安装 --platform=manylinux1_x86_64 --only-binary=:all: psycopg2-binary --target “你的 lambda 层路径”

在我的例子中是:

lambda/layer/python/lib/python3.8/site-packages

如果一些所需的库已经存在,您也可以使用 --upgrade。


0
投票

就我而言,我必须将 psycopg2-binary 添加到 requirements.txt


0
投票
> pip3 install aws-psycopg2 -t .

Collecting aws-psycopg2
  Using cached aws_psycopg2-1.3.8-py3-none-any.whl (73.8 MB)
Installing collected packages: aws-psycopg2
Successfully installed aws-psycopg2-1.3.8
© www.soinside.com 2019 - 2024. All rights reserved.