我一直在尝试在 aws lambda 中使用 gitpython 包。我使用的是python2.7环境。我使用 this 捆绑了 gitpython连同我的 python 代码一起打包成 zip 文件并上传。
import json
import git
def lambda_function(event, context):
repo="https://github.com/abc/xyz.git"
git.Git().clone(repo)
它说
Cmd('git') not found due to: OSError('[Errno 2] No such file or directory')
cmdline: git clone https://github.com/abc/xyz.git: GitCommandNotFound
Traceback (most recent call last):
File "/var/task/lambda_function.py", line 13, in lambda_function
git.Git().clone("https://github.com/abc/xyz.git")
File "/var/task/git/cmd.py", line 425, in <lambda>
return lambda *args, **kwargs: self._call_process(name, *args, **kwargs)
File "/var/task/git/cmd.py", line 877, in _call_process
return self.execute(call, **exec_kwargs)
File "/var/task/git/cmd.py", line 602, in execute
raise GitCommandNotFound(command, err)
GitCommandNotFound: Cmd('git') not found due to: OSError('[Errno 2] No such file or directory')
cmdline: git clone https://github.com/abc/xyz.git
我认为这个错误是因为 lambda 机器中没有 git 造成的!我该如何使用这个?
最佳答案
有一个特殊的 lambda 层,它将 git 引入 lambda 函数。 检查this和 this引用。基本上,
Click on Layers and choose "Add a layer", and "Provide a layer version ARN" and enter the following ARN (replace us-east-1 with the region of your Lambda):
arn:aws:lambda:us-east-1:553035198032:layer:git:6
关于python - 无法在AWS lambda中使用gitpython,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43783270/