Pylint: модуль / экземпляр не имеет члена для API google.cloud.vision - PullRequest
0 голосов
/ 27 октября 2019

Когда я запускаю этот код (который позже будет использоваться для обнаружения и извлечения текста с использованием Google Vision API в Python), я получаю следующие ошибки:

Модуль 'google.cloud.vision_v1.typesУ элемента 'Image' нет элемента pylint (нет элемента)

Экземпляр элемента 'ImageAnnotatorClient' не имеет элемента 'text_detection' элемента pylint (нет элемента)

from google.cloud import vision
from google.cloud.vision import types
import os, io

os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = r'C:\Users\paul\VisionAPI\key.json'
client = vision.ImageAnnotatorClient()

FILE_NAME = 'im3.jpg'
FOLDER_PATH = r'C:\Users\paul\VisionAPI\images'


with io.open(os.path.join(FOLDER_PATH , FILE_NAME), 'rb') as image_file:
    content = image_file.read()

image = vision.types.Image(content=content)
response = client.text_detection(image=image)

Что означает«Модуль / Экземпляр ___ не имеет членов» означает?

1 Ответ

1 голос
/ 27 октября 2019

Мне удалось воспроизвести ошибку pylint, хотя сценарий успешно выполняется при запуске (с небольшими изменениями в моей среде для изменения обрабатываемого имени файла).

Поэтому я предполагаю, что при выполнении этогокод "вы имеете в виду" запустить этот код через Pylint ". Если нет, обновите вопрос о том, как вы выполняете код таким образом, который генерирует ошибки Pylint.

Эта страница описывает конкретную ошибку, которую вы видите, и случай, который вызываетложный позитив за это. Скорее всего, это именно тот ложный положительный результат, который вы получаетеошибка.

Два варианта:

  • Пометьте затронутые строки аннотацией # pylint: disable=no-member, как предлагается на странице, указанной выше.
  • Запустите pylint с помощью --ignore-modules=google.cloud.vision_v1 флаг (или поместите эквивалент в ваш .pylintrc). Вы заметите, что даже фактическое имя модуля отличается от того, которое вы импортировали:)

Это аналогичный вопрос с более подробной информацией об обходных путях для ошибки E1101.

...