Add helpful error messages when importing optional dependencies (#125)
diff --git a/google/auth/transport/grpc.py b/google/auth/transport/grpc.py
index 81d5658..8554ffa 100644
--- a/google/auth/transport/grpc.py
+++ b/google/auth/transport/grpc.py
@@ -16,7 +16,12 @@
from __future__ import absolute_import
-import grpc
+try:
+ import grpc
+except ImportError: # pragma: NO COVER
+ raise ImportError(
+ 'gRPC is not installed, please install the grpcio package to use the '
+ 'gRPC transport.')
import six
diff --git a/google/auth/transport/requests.py b/google/auth/transport/requests.py
index e211090..0c66fdd 100644
--- a/google/auth/transport/requests.py
+++ b/google/auth/transport/requests.py
@@ -18,8 +18,12 @@
import logging
-
-import requests
+try:
+ import requests
+except ImportError: # pragma: NO COVER
+ raise ImportError(
+ 'The requests library is not installed, please install the requests '
+ 'package to use the requests transport.')
import requests.exceptions
from google.auth import exceptions
diff --git a/google/auth/transport/urllib3.py b/google/auth/transport/urllib3.py
index 9d417b5..a08f427 100644
--- a/google/auth/transport/urllib3.py
+++ b/google/auth/transport/urllib3.py
@@ -30,7 +30,12 @@
except ImportError: # pragma: NO COVER
certifi = None
-import urllib3
+try:
+ import urllib3
+except ImportError: # pragma: NO COVER
+ raise ImportError(
+ 'The urllib3 library is not installed, please install the urllib3 '
+ 'package to use the urllib3 transport.')
import urllib3.exceptions
from google.auth import exceptions
diff --git a/google/oauth2/oauthlib.py b/google/oauth2/oauthlib.py
index 8f5c105..e1c6089 100644
--- a/google/oauth2/oauthlib.py
+++ b/google/oauth2/oauthlib.py
@@ -27,7 +27,12 @@
import json
-import requests_oauthlib
+try:
+ import requests_oauthlib
+except ImportError: # pragma: NO COVER
+ raise ImportError(
+ 'The requests-oauthlib library is not installed, please install the '
+ 'requests-oauthlib package to use google.oauth2.oauthlib.')
import google.oauth2.credentials