没有名为“psycopg2._psycopg”的模块

Nik*_*ran 3 lambda psycopg2 function

我正在使用 psycopg2 库创建一个 lambda 函数来连接到 RDS Postgresql 实例。当我在本地桌面上尝试时,它工作正常,但是当我将代码上传到 AWS lambda 并对其进行测试时,它会引发错误:

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

我尝试将 pip install psycopg2 pip install psycopg2 安装到我保存 lambda_function 的本地副本的 pc 上的本地文件夹,然后从中创建一个 zip 并上传它。但它仍然不起作用。有遇到过类似问题的朋友请指教。

我已经在本地安装了 python 3.7(32 位)。不确定 AWS 版本的 python 是否为 64 位。

Nik*_*ran 5

我发现了为什么它不起作用的问题。我的本地 python 实例是 3.7,所以显然它也可以运行使用 3.6 开发的代码。我从jkehler/awslambda-psycopg2获得的 psycopg2 构建库是为 python 3.6 构建的,当我将代码上传到 AWS lambda 时,我选择了 Python 3.7 作为运行时环境。当我将运行时更改为 3.6 时,代码运行没有任何问题。所以关闭问题