Нет модуля с именем 'azure.eventhub';«лазурь» не является пакетом - PullRequest
0 голосов
/ 28 января 2019

Я пытаюсь выполнить этот пример , используя Python 3.7 с пакетом Pycharm и azure-eventhub 1.2.0.

Когда я пытаюсь запустить его, я получаю эту ошибку:

ModuleNotFoundError: No module named 'azure.eventhub'; 'azure' is not a package

Это проблемная строка:

from azure.eventhub import EventHubClient, Receiver, Offset

Что может происходить?

Это мой переводчик проекта

project interpreter

С использованием функции замораживания пунктов:

pip freeze

1 Ответ

0 голосов
/ 29 января 2019

Как я знаю, есть случай, который вызовет вашу проблему.

Интерпретатор Python ищет доступные пакеты, объекты и методы по путям sys.path по порядку, вы можете напечатать значениепеременная sys.path для просмотра порядка после import sys.

Так что, если есть сценарий Python с именем azure.py до реального пакета azure, вы получите проблему ModuleNotFoundError: No module named 'azure.eventhub'; 'azure' is not a package.

Вот мои шаги по воспроизведению этой проблемы.

  1. Я создал скрипт Python с именем azure.py в текущем пути, который имеет только одну строку кода print('pseudo azure package').enter image description here
  2. Затем я открыл свой интерпретатор Python в текущем пути и набрал from azure.eventhub import EventHubClient, Receiver, Offset, чтобы получить проблему, как показано ниже.enter image description here

Это также произойдет в Pycharm, даже с использованием virtualenv, проверьте, существует ли файл с именем azure.py или azure.pyc в вашем текущем пути илипути в порядке sys.path списка.

...