AWS Lambda Import psycopg2 - 无法导入模块"app":没有名为"psycopg2._psycopg"的模块



我试图在Windows 10的Pycharm IDE中使用psycopg2库和AWS lambda。

我尝试了这个存储库中列出的所有版本的Python,但我仍然总是得到以下错误:

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

我已经尝试了这个解决方案,我们安装aws-psycopg2,但它没有工作。根据这个解决方案,我已经确保我的本地Python运行时和Lambda运行时是相同的,我仍然得到错误。

我已经确定我的Python版本是64位的根据这个答案

嘿,如果它仍然不工作,我面临同样的问题,这是我所做的:

  • 运行此命令:
  • pip install——platform=manylinux1_x86_64——only-binary=:all: psycopg2-binary——target psycopg-binary/python/lib/python3.8/site-packages

  • 用上面的包(pyscopg-binary)创建了一个lambda层,并将其添加到lambda函数
  • 确保运行时是正确的(首先我有lamda层运行时3.9和函数3.9,然后我切换到3.8,它工作)
  • 我不完全确定除了运行时哪个包导致它工作(因为我在一步中做了多件事:除了改变运行时,还将aws-psycopg2添加到需求。txt中,因此我不确定aws-psycopg2是否与它工作有任何关系),但我认为它与它无关,所以没有它应该工作)。

希望对您有所帮助。

最新更新