Как я знаю, есть случай, который вызовет вашу проблему.
Интерпретатор Python ищет доступные пакеты, объекты и методы по путям sys.path
по порядку, вы можете напечатать значениепеременная sys.path
для просмотра порядка после import sys
.
Так что, если есть сценарий Python с именем azure.py
до реального пакета azure
, вы получите проблему ModuleNotFoundError: No module named 'azure.eventhub'; 'azure' is not a package
.
Вот мои шаги по воспроизведению этой проблемы.
- Я создал скрипт Python с именем
azure.py
в текущем пути, который имеет только одну строку кода print('pseudo azure package')
. - Затем я открыл свой интерпретатор Python в текущем пути и набрал
from azure.eventhub import EventHubClient, Receiver, Offset
, чтобы получить проблему, как показано ниже.
Это также произойдет в Pycharm, даже с использованием virtualenv
, проверьте, существует ли файл с именем azure.py
или azure.pyc
в вашем текущем пути илипути в порядке sys.path
списка.