Я пытаюсь просто сделать простой вызов rest для безопасной конечной точки прогнозирования для проекта машинного обучения Google, но он не может найти модуль google.oauth2. Это мой код:
import urllib2
from google.oauth2 import service_account
# Constants
ENDPOINT_URL = 'ml.googleapis.com/v1/projects/{project}/models/{model}:predict?access_token='
SCOPES = ['https://www.googleapis.com/auth/sqlservice.admin']
SERVICE_ACCOUNT_FILE = 'service.json'
credentials = service_account.Credentials.from_service_account_file(SERVICE_ACCOUNT_FILE, scopes=SCOPES)
access_token=credentials.get_access_token()
opener = urllib2.build_opener(urllib2.HTTPHandler)
request = urllib2.Request(ENDPOINT_URL)
request.get_method = lambda: 'POST'
result = opener.open(request).read()
print(str(result))
Когда я запускаю это, я получаю эту ошибку:
Traceback (most recent call last):
File "wakeUpMLServer.py", line 30, in <module>
from google.oauth2 import service_account
ImportError: No module named oauth2
Я установил библиотеку google-api-python-client с помощью pip (из инструкций здесь: https://developers.google.com/api-client-library/python/apis/oauth2/v1). Установка сказала, что прошла успешно. Версия Python: 2.7.6 Версия Pip: 1.5.4
Если это как-то конфликтует, вы должны знать, что я также обрабатываю файлы protobuf на том же сервере, поэтому у меня также установлена библиотека protobufs. Когда я делаю список пипсов, он показывает обе библиотеки:
google-api-python-client (1.6.7)
protobuf (3.1.0.post1)
Есть ли какой-то особый способ установки модуля? Как проверить, что модуль установлен? Есть ли более простой способ просто сделать простой вызов rest для защищенной конечной точки ml, которая просто использует Rest API и не использует python?