我使用psycopg2库创建了一个lambda函数来连接到RDS Postgresql实例。 当我在本地桌面上尝试时,它可以正常工作,但是当我将代码上传到AWS lambda并对其进行测试时,它将引发错误:
无法导入模块“ lambda_function”:没有名为“ psycopg2._psycopg”的模块
我试图将psycopg2 pip安装到PC上的本地文件夹中,在其中保存了lambda_function的本地副本,然后从其中创建了一个zip并上传了它。但仍然无法正常工作。 遇到类似问题的任何人,请告知。
我已经在本地安装了python 3.7(32位)。不确定AWS版本的python是否为64位。
答案 0 :(得分:1)
我发现了为什么它不起作用的问题。我的本地python实例是3.7,因此显然它也将运行使用3.6开发的代码。我从jkehler/awslambda-psycopg2获得的psycopg2构建库是为python 3.6构建的,在将代码上传到AWS lambda的同时,我选择了Python 3.7作为运行时环境。当我将运行时更改为3.6时,代码可以正常工作。因此,解决问题