Donc, je suis exactement la même procédure selon la documentation de l'API google translate, le code ci-dessous y était fourni.
# 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']))
Maintenant, quand je le compile, je suis retourné avec cette erreur:
Traceback (dernier appel le plus récent): Fichier "test.py", ligne 5, dans translate_client = translate.Client () Fichier "C:\ProgramData\Anaconda3\lib\site-packages\google\cloud\translate_v2\client.py ", ligne 65, dans init super (Client, self) .init (credentials = credentials, _http = _http) File" C:\ProgramData\Anaconda3\lib\site -packages\google\cloud\client.py ", ligne 129, dans init informations d'identification, _ = google.auth.default () Fichier" C:\ProgramData\Anaconda3\lib\site-packages\google\auth_default.py ", ligne 294, dans les informations d'identification par défaut, project_id = checker () Fichier" C:\ProgramData\Anaconda3\lib\site-packages\google\auth_default.py ", ligne 165, dans _get_explicit_environ_credentials os.environ [ environment_vars.CREDENTIALS]) Fichier "C:\ProgramData\Anaconda3\lib\site-packages\google\auth_default.py", ligne 89, dans _load_credentials_from_file 'Le fichier {} est introuvable.'. format (nom de fichier)) google.auth .exceptions.DefaultCredentialsError: le fichier D:\Summer Projects\Translate\social media analysis-2a59d94ba22d.json n'était pas a trouvé.
Le D:\Summer Projects\Translate\social media analysis-2a59d94ba22d.json est le chemin où j'ai mis ma clé fournie par le cloud de Google pour ce projet. Comment résoudre ça.
Votre besoin de définir une variable d'environnement pour GOOGLE_APPLICATION_CREDENTIALS
Vous pouvez ajouter cela dans votre code en ajoutant les lignes suivantes:
credential_path = "D:\Summer Projects\Translate\social media analysis-2a59d94ba22d.json"
os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = credential_path
Solution complète:
# 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']))
Je m'occupe maintenant de l'API Vision. Ma solution dépend de la réponse ci-dessus.
Mais l'exemple de code de Google est un peu différent du code précédent.
Pour mon exemple de code est
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
Il faut noter que je place le fichier JSON
dans le même dossier que .py
donc le PATH
n'est pas réellement un vrai chemin pour pointer le fichier JSON
Il va uniquement au nom du fichier JSON, comme ceci projectname-xxxxxxxx.json