如何使用GitPython库克隆已禁用的SSL检查。以下代码......
import git
x = git.Repo.clone_from('https://xxx', '/home/xxx/lala')
...产生此错误:
Error: fatal: unable to access 'xxx': server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none
我知道"导出GIT_SSL_NO_VERIFY = 1",但是如何在python库中实现它?
答案 0 :(得分:2)
以下两种方法已经使用GitPython 2.0.8进行了测试,但至少应该从1.0.2开始(来自doc)。
正如@Byron所建议的那样:
git.Repo.clone_from(
'https://example.net/path/to/repo.git',
'local_destination',
branch='master', depth=1,
env={'GIT_SSL_NO_VERIFY': '1'},
)
正如@Christopher所建议的那样:
git.Repo.clone_from(
'https://example.net/path/to/repo.git',
'local_destination',
branch='master', depth=1,
config='http.sslVerify=false',
)
答案 1 :(得分:0)
将GIT_SSL_NO_VERIFY
环境变量传递给所有git调用似乎最简单。不幸的是Git.update_environment(...)
只能在现有实例上使用,这就是为什么你必须像这样操纵python的环境:
import git
import os
os.environ['GIT_SSL_NO_VERIFY'] = "1"
repo = git.Repo.clone_from('https://xxx', '/home/xxx/lala')