AttributeError: у объекта 'str' нет атрибута 'annotate_video' - PullRequest
0 голосов
/ 25 апреля 2020

Использование следующего кода на JupyterLab для запуска пакета Google Video Intelligence:

from google.cloud import videointelligence
import os

client = videointelligence.VideoIntelligenceServiceClient('VidIntelligence.JSON')
job = client.annotate_video(
    input_uri='gs://vidintelligencebucket/The Simpsons - Monopoly Night.mp4',
    features=['LABEL_DETECTION', 'SHOT_CHANGE_DETECTION'],
)
result = job.result()

Когда я его запускаю, появляется следующая ошибка:

AttributeError: 'str' object has no attribute 'annotate_video'

Есть предложения?

1 Ответ

0 голосов
/ 26 апреля 2020

Это происходит потому, что, как указано ex4 , переменная client имеет тип str и содержит только сообщение об ошибке.

Ошибка возникает из-за неверной аутентификации. Аргумент, передаваемый параметру credentials клиента, не может иметь тип str, но должен быть объектом Credentials , как указано в описании client .

Вы можете проверить этот обзор для всех действительных способов аутентификации клиента.

Поскольку у вас есть json файл с учетными данными, вам просто нужно указать на него с помощью среды переменная с именем GOOGLE_APPLICATION_CREDENTIALS:

$ export GOOGLE_APPLICATION_CREDENTIALS="/path/to/VidIntelligence.json"

Тогда вы сможете инициализировать свой клиент без передачи аргументов:

client = videointelligence.VideoIntelligenceServiceClient()

Надеюсь, что это поможет!

...