我正在尝试使用python2.7运行时使用AWS Lambda写入我的PostgreSQL数据库。我很少关心我是如何做到这一点的,所以如果有人有一种我能理解的不同方式,我很乐意听到它。
我目前正在尝试的方法是使用psycopg2,因为这是我所知道的唯一方法。为此,我需要将psycopg2模块上传到AWS Lambda上的环境中。 As per instructions,我使用pip install psycopg2 -t ..\my-project
创建了一个包含my和psycopg2的目录,压缩了my-project
并上传了该目录。
我的错误消息来自AWS Lambda控制台:Unable to import module 'lambda_function': No module named _psycopg
代码在我的Windows机器上运行。我认为问题是当我从本地Windows机器import psycopg2
时,_psycopg
模块正在从_psycopg.pyd
导入,而.pyd文件是特定于Windows的。我可能错了。
我真的只是寻找任何方法来实现我的第一段中描述的所需结果,但这里有一个更具体的问题:如何在不使用.pyd文件的情况下告诉windows pip install和编译psycopg2?这可能吗?我有什么完全错的吗?
我知道这个问题的格式有点不正统,我想我已经提供了所有必要的信息,让我知道我能提供的其他信息。
答案 0 :(得分:1)
我通过在VirtualBox上打开一个ubuntu实例解决了这个问题,在那里安装了包,拉出了相关的文件夹,并在压缩并上传到AWS Lambda之前将它们放在my-project
中。