如何将pygit2库导入AWS Lambda python3.8运行时

时间:2020-07-16 17:20:28

标签: python-3.x amazon-web-services aws-lambda pygit2

我正遇到AWS lambda函数的问题。我无法将pygit2库导入到我的函数中。我在4个不同的运行时环境上进行了尝试,每个环境都给出了不同的错误,这使我认为库中存在错误而不是我的代码存在错误。这些是我得到的错误: github_pull_source是我的函数的名称。

Python 2.7 - Unable to import module 'github_pull_source': No module named _pygit2
Python 3.6 - Unable to import module 'github_pull_source': /var/task/_cffi_backend.so: undefined symbol: _Py_ZeroStruct
Python 3.7 - Unable to import module 'github_pull_source': No module named 'pygit2._pygit2'
Python 3.8 - Unable to import module 'github_pull_source': No module named 'pygit2._pygit2'

我这样导入库:

from pygit2 import Keypair, discover_repository, Repository, clone_repository, RemoteCallbacks

部署程序包的结构

deployment_package.zip
  - source_code.py
  - __init__.py
  - pygit2
  - libgit2-f9f42b17.so.1.0.0
  - libgit2.tar.gz
  - libgit2.so.26
  - _pygit2.so
  - and some other libraries like requests etc

有人经历过类似的经历吗?

谢谢

1 个答案:

答案 0 :(得分:0)

我现在已经设法通过创建lambda层来解决该问题。问题似乎出在默认情况下lambda容器中的python包中。

请参阅我提出的here这一期的详细信息。

希望这对其他人也有帮助。