【问题标题】:ImportError: cannot import name 'ServiceBusClient' from 'azure.servicebus'ImportError:无法从“azure.servicebus”导入名称“ServiceBusClient”
【发布时间】:2021-07-16 23:40:24
【问题描述】:

我想运行一个简单的 Azure 服务总线程序,我收到以下错误:

ImportError: cannot import name 'ServiceBusMessage' from 'azure.servicebus'

当我在互联网上搜索时,我应该安装 Azure 服务总线并且我也安装了。 我的 Python 版本:3.8.9 我的点子冻结:

azure-common==1.1.26
azure-core==1.13.0
azure-functions==1.6.0
azure-nspkg==3.0.2
azure-servicebus==7.1.1
azure-storage==0.36.0

我的代码:

from azure.servicebus import ServiceBusClient, ServiceBusMessage

import os
connstr = os.environ['******']
queue_name = os.environ['*****']

with ServiceBusClient.from_connection_string(connstr) as client:
    with client.get_queue_sender(queue_name) as sender:
        single_message = ServiceBusMessage("Single Message")
        sender.send_messages(single_message)

        messages = [ServiceBusMessage(
            "First Message"), ServiceBusMessage("Second message")]
        sender.send_messages(messages)

【问题讨论】:

  • 这段代码在我这边好像没有问题,也许你可以尝试重新安装azure.servicebus。或者你可以试试这里提到的solution
  • @FrankGong 我安装了azure.servicebus。另外,我尝试了链接解决方案并添加了control_client,但我遇到了同样的问题。
  • 或许你可以尝试安装低版本的azure.servicebus:pip install azure-servicebus==7.0.0
  • @FrankGong 是的,没错。这个问题通过pip install azure-servicebus==7.0.0 解决了

标签: python azureservicebus azure-servicebus-queues


【解决方案1】:

此问题是由不兼容的版本引起的。可以安装低版本的azure.servicebus

pip install azure-servicebus==7.0.0

【讨论】:

    【解决方案2】:

    在我的情况下必须降到更低的版本

    pip install azure-servicebus==0.21.1
    

    您可以在此处查看发布版本:https://pypi.org/project/azure-servicebus/#history

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-22
      • 2021-06-30
      • 2020-10-19
      • 2018-08-13
      • 2015-01-26
      • 2020-10-10
      • 2020-02-12
      • 2021-11-27
      相关资源
      最近更新 更多