Итак, я следую той же процедуре, точно в соответствии с документацией по API перевода Google, в ней был указан код ниже.
# Imports the Google Cloud client library
from google.cloud import translate
# Instantiates a client
translate_client = translate.Client()
# The text to translate
text = u'Hello, world!'
# The target language
target = 'ru'
# Translates some text into Russian
translation = translate_client.translate(
text,
target_language=target)
print(u'Text: {}'.format(text))
print(u'Translation: {}'.format(translation['translatedText']))
Теперь, когда я скомпилирую его, я возвращаюсь с этой ошибкой:
Traceback (последний последний вызов): Файл "test.py", строка 5, в файле translate_client = translate.Client() "C:\ProgramData\Anaconda3\lib\site-packages\google\cloud\translate_v2\client.py ", строка 65, в init super (Client, self). init (credentials = credentials, _http = _http) Файл "C:\ProgramData\Anaconda3\lib\site-packages\google\cloud\client.py", строка 129, в учетных данных init, _ = google.auth.default() Файл "C:\ProgramData\Anaconda3\lib\site-packages\google\auth_default.py", строка 294, в учетных данных по умолчанию, project_id = checker() Файл "C:\ProgramData\Anaconda3\lib\site-packages\google\auth_default.py ", строка 165, в _get_explicit_environ_credentials os.environ [environment_vars.CREDENTIALS]) Файл" C:\ProgramData\Anaconda3\lib\site-packages\google\auth_default.py ", строка 89, в _load_credentials_from_file 'Файл { } не найден. '. format (filename)) google.auth.exceptions.DefaultCredentialsError: Файл D:\Summer Projects\Translate\social media analysis-2a59d94ba22d.json не найден.
D:\Summer Projects\Translate\social media analysis-2a59d94ba22d.json - это путь, по которому я поместил свой ключ, предоставленный облаком Google для этого проекта. Как это решить.
Необходимость установки переменной среды для GOOGLE_APPLICATION_CREDENTIALS
Вы можете добавить это в свой код, добавив следующие строки:
credential_path = "D:\Summer Projects\Translate\social media analysis-2a59d94ba22d.json"
os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = credential_path
Полное решение:
# Imports the Google Cloud client library
import os
from google.cloud import translate
credential_path = "D:\Summer Projects\Translate\social media analysis-2a59d94ba22d.json"
os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = crendential_path
# Instantiates a client
translate_client = translate.Client()
# The text to translate
text = u'Hello, world!'
# The target language
target = 'ru'
# Translates some text into Russian
translation = translate_client.translate(
text,
target_language=target)
print(u'Text: {}'.format(text))
print(u'Translation: {}'.format(translation['translatedText']))
Сейчас я имею дело с API видения. Мое решение зависит от ответа выше.
Но пример кода от Google немного отличается от предыдущего кода.
Для моего примера кода
def run_quickstart():
import os
import io
from google.cloud import vision
from google.cloud.vision import types
...
# I made the modification here
credential_path = "PATH"
# for example
# credential_path = "projectname-xxxxxxxx.json"
# WRONG code
# credential_path = "~/Downloads/projectname-xxxxxxxx.json"
os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = credential_path
Следует отметить, что я помещаю файл JSON
в ту же папку, что и .py
поэтому путь PATH
не является реальным путем для указания файла JSON
Это только идет к имени файла JSON, как этот projectname-xxxxxxxx.json