没有名为 'azure.eventhub' 的模块; 'azure' 不是包

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

我正在尝试使用 Python 3.7 和 Pycharm 和 azure-eventhub 1.2.0 包来执行此 example

当我尝试 运行 它时,我得到这个错误:

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

这是有问题的行:

from azure.eventhub import EventHubClient, Receiver, Offset

可能发生了什么?

这是我的项目解释器

使用 pip 冻结:

据我所知,有一种情况会导致您的问题。

解释器Python解释器按顺序在sys.path的路径中查找可用的包、对象和方法,可以打印sys.path变量的值看看后的顺序import sys.

因此,如果在真正的 azure 包之前有一个名为 azure.py 的 Python 脚本,您将遇到问题 ModuleNotFoundError: No module named 'azure.eventhub'; 'azure' is not a package.

这是我重现此问题的步骤。

  1. 我在当前路径下创建了一个名为azure.py的Python脚本,只有一行代码print('pseudo azure package')
  2. 然后,我在当前路径打开我的Python解释器并输入from azure.eventhub import EventHubClient, Receiver, Offset,然后得到如下问题。

在Pycharm也会出现,即使使用virtualenv,请检查您当前路径或sys.path 列表的顺序。