Repository navigation
Python2.7 TransportError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:581) #3498
Description
yesterday, i run python quickstart.py in python-docs-samples/vision/cloud-client/quickstart and got this error, but in version Python 3.6.1 it run fine.
- Centos 7
- Python 2.7.9
(env_2.7.9) [quickstart]$ python quickstart.py
E0613 10:16:38.646972552 9939 plugin_credentials.c:74] Getting metadata from plugin failed with error: Traceback (most recent call last):
File "src/python/grpcio/grpc/_cython/_cygrpc/credentials.pyx.pxi", line 154, in grpc._cython.cygrpc.plugin_get_metadata (src/python/grpcio/grpc/_cython/cygrpc.c:6996)
File "/home/leth/Workspace/Python/python2/python-docs-samples/vision/cloud-client/quickstart/env_2.7.9/lib/python2.7/site-packages/grpc/_plugin_wrapping.py", line 106, in call
AuthMetadataPluginCallback(wrapped_cygrpc_callback))
File "/home/leth/Workspace/Python/python2/python-docs-samples/vision/cloud-client/quickstart/env_2.7.9/lib/python2.7/site-packages/google/auth/transport/grpc.py", line 73, in call
callback(self._get_authorization_headers(context), None)
File "/home/leth/Workspace/Python/python2/python-docs-samples/vision/cloud-client/quickstart/env_2.7.9/lib/python2.7/site-packages/google/auth/transport/grpc.py", line 61, in _get_authorization_headers
headers)
File "/home/leth/Workspace/Python/python2/python-docs-samples/vision/cloud-client/quickstart/env_2.7.9/lib/python2.7/site-packages/google/auth/credentials.py", line 121, in before_request
self.refresh(request)
File "/home/leth/Workspace/Python/python2/python-docs-samples/vision/cloud-client/quickstart/env_2.7.9/lib/python2.7/site-packages/google/oauth2/credentials.py", line 126, in refresh
self._client_secret))
File "/home/leth/Workspace/Python/python2/python-docs-samples/vision/cloud-client/quickstart/env_2.7.9/lib/python2.7/site-packages/google/oauth2/_client.py", line 189, in refresh_grant
response_data = _token_endpoint_request(request, token_uri, body)
File "/home/leth/Workspace/Python/python2/python-docs-samples/vision/cloud-client/quickstart/env_2.7.9/lib/python2.7/site-packages/google/oauth2/_client.py", line 104, in _token_endpoint_request
method='POST', url=token_uri, headers=headers, body=body)
File "/home/leth/Workspace/Python/python2/python-docs-samples/vision/cloud-client/quickstart/env_2.7.9/lib/python2.7/site-packages/google/auth/transport/requests.py", line 115, in call
raise exceptions.TransportError(exc)
TransportError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:581)
Traceback (most recent call last):
File "quickstart.py", line 50, in
run_quickstart()
File "quickstart.py", line 41, in run_quickstart
labels = image.detect_labels()
File "/home/leth/Workspace/Python/python2/python-docs-samples/vision/cloud-client/quickstart/env_2.7.9/lib/python2.7/site-packages/google/cloud/vision/image.py", line 219, in detect_labels
annotations = self.detect(features)
File "/home/leth/Workspace/Python/python2/python-docs-samples/vision/cloud-client/quickstart/env_2.7.9/lib/python2.7/site-packages/google/cloud/vision/image.py", line 143, in detect
return self._detect_annotation(images)
File "/home/leth/Workspace/Python/python2/python-docs-samples/vision/cloud-client/quickstart/env_2.7.9/lib/python2.7/site-packages/google/cloud/vision/image.py", line 117, in _detect_annotation
return self.client._vision_api.annotate(images)
File "/home/leth/Workspace/Python/python2/python-docs-samples/vision/cloud-client/quickstart/env_2.7.9/lib/python2.7/site-packages/google/cloud/vision/_gax.py", line 69, in annotate
responses = annotator_client.batch_annotate_images(requests).responses
File "/home/leth/Workspace/Python/python2/python-docs-samples/vision/cloud-client/quickstart/env_2.7.9/lib/python2.7/site-packages/google/cloud/gapic/vision/v1/image_annotator_client.py", line 181, in batch_annotate_images
return self._batch_annotate_images(request, options)
File "/home/leth/Workspace/Python/python2/python-docs-samples/vision/cloud-client/quickstart/env_2.7.9/lib/python2.7/site-packages/google/gax/api_callable.py", line 428, in inner
return api_caller(api_call, this_settings, request)
File "/home/leth/Workspace/Python/python2/python-docs-samples/vision/cloud-client/quickstart/env_2.7.9/lib/python2.7/site-packages/google/gax/api_callable.py", line 416, in base_caller
return api_call(*args)
File "/home/leth/Workspace/Python/python2/python-docs-samples/vision/cloud-client/quickstart/env_2.7.9/lib/python2.7/site-packages/google/gax/api_callable.py", line 376, in inner
return a_func(*args, **kwargs)
File "/home/leth/Workspace/Python/python2/python-docs-samples/vision/cloud-client/quickstart/env_2.7.9/lib/python2.7/site-packages/google/gax/retry.py", line 127, in inner
' classified as transient', exception)
google.gax.errors.RetryError: GaxError(Exception occurred in retry method that was not classified as transient, caused by <_Rendezvous of RPC that terminated with (StatusCode.UNAUTHENTICATED, Traceback (most recent call last):
File "src/python/grpcio/grpc/_cython/_cygrpc/credentials.pyx.pxi", line 154, in grpc._cython.cygrpc.plugin_get_metadata (src/python/grpcio/grpc/_cython/cygrpc.c:6996)
File "/home/leth/Workspace/Python/python2/python-docs-samples/vision/cloud-client/quickstart/env_2.7.9/lib/python2.7/site-packages/grpc/_plugin_wrapping.py", line 106, in call
AuthMetadataPluginCallback(wrapped_cygrpc_callback))
File "/home/leth/Workspace/Python/python2/python-docs-samples/vision/cloud-client/quickstart/env_2.7.9/lib/python2.7/site-packages/google/auth/transport/grpc.py", line 73, in call
callback(self._get_authorization_headers(context), None)
File "/home/leth/Workspace/Python/python2/python-docs-samples/vision/cloud-client/quickstart/env_2.7.9/lib/python2.7/site-packages/google/auth/transport/grpc.py", line 61, in _get_authorization_headers
headers)
File "/home/leth/Workspace/Python/python2/python-docs-samples/vision/cloud-client/quickstart/env_2.7.9/lib/python2.7/site-packages/google/auth/credentials.py", line 121, in before_request
self.refresh(request)
File "/home/leth/Workspace/Python/python2/python-docs-samples/vision/cloud-client/quickstart/env_2.7.9/lib/python2.7/site-packages/google/oauth2/credentials.py", line 126, in refresh
self._client_secret))
File "/home/leth/Workspace/Python/python2/python-docs-samples/vision/cloud-client/quickstart/env_2.7.9/lib/python2.7/site-packages/google/oauth2/_client.py", line 189, in refresh_grant
response_data = _token_endpoint_request(request, token_uri, body)
File "/home/leth/Workspace/Python/python2/python-docs-samples/vision/cloud-client/quickstart/env_2.7.9/lib/python2.7/site-packages/google/oauth2/_client.py", line 104, in _token_endpoint_request
method='POST', url=token_uri, headers=headers, body=body)
File "/home/leth/Workspace/Python/python2/python-docs-samples/vision/cloud-client/quickstart/env_2.7.9/lib/python2.7/site-packages/google/auth/transport/requests.py", line 115, in call
raise exceptions.TransportError(exc)
TransportError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:581)
)>)
Activity
dhermes commentedon Jun 13, 2017
@japonikaa Thanks for filing. This is something we've seen with shared state across threads in
httplib2, but it appears the underlying code is usingrequests, so it seems to be different.theacodes commentedon Jun 13, 2017
@japonikaa try installing request's security extra
pip install requests[security]. On older Python versions, the ssl module can't verify SNI certificates. Did you get anInsecurePlatformWarningat all?j2p0 commentedon Jun 14, 2017
@dhermes ,@jonparrott thanks for your advise .
but after install requests[security], i got others error below
i have confused because python2 run fine before Error: [SSL: CERTIFICATE_VERIFY_FAILED],but now i decided to using python3 and solved my problem.
just wonder what wrong with python2.
thanks all.
lukesneeringer commentedon Aug 8, 2017
This issue was moved to grpc/grpc#12113
docs: add samples from spanner/cloud-client (#117)