google.auth.exceptions.DefaultCredentialsError:

新手上路,请多包涵

因此,我完全按照 Google Translate API 的文档执行相同的过程。

其中提供了以下代码。

 # 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 (most recent call last):   File "test.py", line 5, in <module>
    translate_client = translate.Client()   File "C:\ProgramData\Anaconda3\lib\site-packages\google\cloud\translate_v2\client.py", line 65, in __init__
    super(Client, self).__init__(credentials=credentials, _http=_http)   File "C:\ProgramData\Anaconda3\lib\site-packages\google\cloud\client.py", line 129, in __init__
    credentials, _ = google.auth.default()   File "C:\ProgramData\Anaconda3\lib\site-packages\google\auth_default.py", line 294, in default
    credentials, project_id = checker()   File "C:\ProgramData\Anaconda3\lib\site-packages\google\auth_default.py", line 165, in _get_explicit_environ_credentials
    os.environ[environment_vars.CREDENTIALS])   File "C:\ProgramData\Anaconda3\lib\site-packages\google\auth_default.py", line 89, in _load_credentials_from_file
    'File {} was not found.'.format(filename)) google.auth.exceptions.DefaultCredentialsError: File  D:\Summer Projects\Translate\social media analysis-2a59d94ba22d.json was not found.

D:\Summer Projects\Translate\social media analysis-2a59d94ba22d.json 是我放置谷歌云为此项目提供的密钥的路径。

我该如何解决这个问题?

原文由 Samrat 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.3k
2 个回答

您需要为 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'] = credential_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']))

原文由 ScottMcC 发布,翻译遵循 CC BY-SA 4.0 许可协议

如果从命令提示符设置:

 SET GOOGLE_APPLICATION_CREDENTIALS=C:\work\xxxba6.json

注意:不要在路径“C:\work\xxxba6.json”中加上引号。

Google Python 脚本无法处理它。

原文由 Salman Marvasti 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏