pw_env_setup: add help for SSL errors
Bug: 165
Change-Id: Id91eeb072935571e93335a2fae4c441f53245fa0
diff --git a/pw_env_setup/py/pw_env_setup/cipd_setup/wrapper.py b/pw_env_setup/py/pw_env_setup/cipd_setup/wrapper.py
index 0f071c9..5029172 100755
--- a/pw_env_setup/py/pw_env_setup/cipd_setup/wrapper.py
+++ b/pw_env_setup/py/pw_env_setup/cipd_setup/wrapper.py
@@ -25,6 +25,7 @@
import hashlib
import os
import platform
+import ssl
import subprocess
import sys
@@ -167,11 +168,22 @@
version=version)
for _ in range(10):
- conn.request('GET', path)
- res = conn.getresponse()
- # Have to read the response before making a new request, so make sure
- # we always read it.
- content = res.read()
+ try:
+ conn.request('GET', path)
+ res = conn.getresponse()
+ # Have to read the response before making a new request, so make
+ # sure we always read it.
+ content = res.read()
+ except ssl.SSLError:
+ print(
+ 'Python SSL error--if using system Python try\n'
+ ' sudo pip install certifi.\n'
+ 'If using Homebrew Python try\n'
+ ' brew install openssl\n'
+ ' brew uninstall python\n'
+ ' brew install python\n',
+ file=sys.stderr)
+ raise
# Found client bytes.
if res.status == httplib.OK: # pylint: disable=no-else-return