我正在尝试将asyncpg与AWS Lambda一起使用,并在尝试import asyncpg时遇到下一个错误

Unable to import module 'handler': No module named asyncpg.protocol.protocol'

我在有或没有虚拟环境的情况下都像this Answer那样导入python依赖项。

更新。使用自定义的已编译psycopg2找到了this存储库,它与AWS Lambda一起使用时效果很好,但是对于asyncpg,在编译对Lambda友好的asyncpg包方面找不到此类替代方法或说明。

最佳答案

该库具有C绑定(bind),而lambda不能很好地与这些绑定(bind)一起使用。
处理它的主要方法是上传具有针对Linux环境预编译的绑定(bind)的特定库。
主要的方法是按照here的说明进行操作,并确保它已在您的linux(或我想的mac)中编译过。只需创建一个venv并按照上述指南的建议将其包括在内即可轻松实现。
您可以找到类似的问题here
通常,这是常见的,像chalice这样的框架会尝试找到一些解决方法。

关于python - Asyncpg和AWS Lambda,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44331525/

10-11 06:18