Проблема с публикацией Google Cloud Pub / Sub

Я новичок в Google Cloud Pub / Sub, поэтому я просто играю с кодом, доступным в документации, чтобы лучше узнать сервис. В этом случае я пытаюсь выполнить простой код в официальных документах, чтобы опубликовать некоторые данные в теме. Но я столкнулся с проблемой. Ошибка, указывающая на то, что topic_path () не является членом PublisherClient. Кто-нибудь еще сталкивался с этой проблемой? Ниже приведен снимок.

введите здесь описание изображения


person Rajnil Guha    schedule 16.04.2020    source источник
comment
Возникает ли проблема при запуске сценария из командной строки? Какая версия Python? Какая версия библиотеки PubSub? Код скопирован прямо из образца? Невозможно увидеть импорт из-за сообщения об ошибке.   -  person Kamal Aboul-Hosn    schedule 16.04.2020
comment
Также укажите ссылку на документы / репозиторий, из которых вы получаете этот фрагмент.   -  person Kolban    schedule 16.04.2020
comment
Кажется, это проблема с вашей локальной средой, которая не распознает установку библиотеки pubsub, и ваша IDE показывает это, потому что 1) вы не установили все необходимые зависимости или 2) вы не настроили свою среду IDE для получения правильной зависимости. Проверьте, установлены ли все зависимости через pip install, и найдите, как лучше организовать диспетчер зависимостей через virtualenv   -  person manasouza    schedule 16.04.2020
comment
Я не установил переменную GOOGLE_APPLICATION_CREDENTIALS. Итак, я получал ошибку аутентификации, когда пытался выполнить код из командной строки. После установки переменной код работает плавно, и сообщения публикуются в теме. Однако красное подчеркивание по-прежнему остается под этой строкой, даже если код выполняется. Я использую виртуальную среду python, в которой я установил библиотеку pubsub с помощью pip install. Я использую интерпретатор python для этой конкретной среды в своей среде IDE. cloud.google.com/pubsub/docs/quickstart-client-libraries - ссылка на документы Google.   -  person Rajnil Guha    schedule 16.04.2020


Ответы (1)


Проблема в том, что экземпляр PublisherClient имеет динамические атрибуты, поэтому pylint не может вывести членов экземпляра (я предполагаю, что вы используете pylint на основе сообщения линтинга).

Вы можете игнорировать это для всех google.cloud.* пакетов, установив это в вашем .pylintrc:

generated-members=google.cloud.*
person Dustin Ingram    schedule 16.04.2020
comment
Спасибо. Где находится этот файл .pylintrc? - person Rajnil Guha; 17.04.2020
comment
В корне проекта. - person Dustin Ingram; 17.04.2020