1

我正在尝试按照 Google 的文档构建我自己的 Android 版本,但它在“repo init”状态下失败(第 2 节的第 2 步): https ://source.android.com/source/downloading.html

当我跑 'repo init -u https://android.googlesource.com/platform/manifest'

它回答

fatal: Cannot get https://gerrit.googlesource.com/git-repo/clone.bundle
fatal: error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)

我真的不知道该尝试什么,除了确保我有所有合适的工具(我有,一个全新的 Macbook Pro w/El Capitan,Python 2.7,安装了 GPG,所有这些。)我可能忘记了什么做?我能做些什么来禁用 SSL 检查、更改证书或类似的事情吗?

4

3 回答 3

5

Python,从 v2.7.9 开始,现在默认检查 SSL 证书。要恢复 repo 脚本的正确行为,请设置环境变量 PYTHONHTTPSVERIFY=0。

这将关闭所有证书验证。

回购脚本现在应该像宣传的那样运行。

于 2017-06-20T23:46:51.940 回答
1

这很可能是因为您使用的是 macports python。

$ port select --list python
Available versions for python:
    none
    python26-apple
    python27 (active)
    python27-apple
$ sudo port select --set python python27-apple
Selecting 'python27-apple' for 'python' succeeded. 'python27-apple' is now active.

根本问题是 OS X 将 CA 根证书存储在 Keychain ring 中,但 python.org python 不查询 Keychain ring。见http://bugs.python.org/issue17128

于 2016-08-18T17:39:41.913 回答
1

好的,我通过将环境变量 PYTHONHTTPSVERIFY 设置为 0 来解决这个问题

导出 PYTHONHTTPSVERIFY=0

于 2020-03-02T11:31:42.140 回答