无法导入模块 'lambda_function':没有名为 'psycopg2._psycopg 的模块 aws lambda 函数
Unable to import module 'lambda_function': No module named 'psycopg2._psycopg aws lambda function
我已经使用此命令在我的包文件夹中安装了 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')
我的所有其他模块都工作正常
我在 Mac 上为图层创建虚拟环境时遇到了同样的问题。为了解决这个问题,我使用了以下命令。
pip install --platform=manylinux1_x86_64 --only-binary=:all:
psycopg2-binary --target "your lambda layer path"
在我的例子中是:
lambda/layer/python/lib/python3.8/site-packages
如果一些必需的库已经存在,您也可以使用 --upgrade。
添加这个库
pip install aws-psycopg2
我已经使用此命令在我的包文件夹中安装了 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')
我的所有其他模块都工作正常
我在 Mac 上为图层创建虚拟环境时遇到了同样的问题。为了解决这个问题,我使用了以下命令。
pip install --platform=manylinux1_x86_64 --only-binary=:all: psycopg2-binary --target "your lambda layer path"
在我的例子中是:
lambda/layer/python/lib/python3.8/site-packages
如果一些必需的库已经存在,您也可以使用 --upgrade。
添加这个库
pip install aws-psycopg2