You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mac M1 Monterey系统导入azure-eventhub时Python报错求助

Azure EventHub 导入错误修复方案(Mac M1环境)

问题背景

运行环境:Mac M1 机器,Python 3.10.6,pip 22.2.2,已执行pip install azure-eventhub。

尝试导入以下模块:

from azure.eventhub import EventData
from azure.eventhub.aio import EventHubProducerClient
from azure.eventhub.exceptions import EventHubError

出现如下错误:

from azure.eventhub import EventData
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/azure/eventhub/__init__.py", line 5, in <module>
    from ._common import EventData, EventDataBatch
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/azure/eventhub/_common.py", line 24, in <module>
    from ._utils import (
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/azure/eventhub/_utils.py", line 33, in <module>
    from uamqp import types as uamqp_types
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/uamqp/__init__.py", line 12, in <module>
    from uamqp import c_uamqp  # pylint: disable=import-self
ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/uamqp/c_uamqp.cpython-310-darwin.so, 0x0002): symbol not found in flat namespace '_SASToken_CreateString'
>>> from azure.eventhub.aio import EventHubProducerClient
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/azure/eventhub/__init__.py", line 5, in <module>
    from ._common import EventData, EventDataBatch
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/azure/eventhub/_common.py", line 24, in <module>
    from ._utils import (
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/azure/eventhub/_utils.py", line 33, in <module>
    from uamqp import types as uamqp_types
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/uamqp/__init__.py", line 12, in <module>
    from uamqp import c_uamqp  # pylint: disable=import-self
ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/uamqp/c_uamqp.cpython-310-darwin.so, 0x0002): symbol not found in flat namespace '_SASToken_CreateString'
>>> from azure.eventhub.exceptions import EventHubError
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/azure/eventhub/__init__.py", line 5, in <module>
    from ._common import EventData, EventDataBatch
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/azure/eventhub/_common.py", line 24, in <module>
    from ._utils import (
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/azure/eventhub/_utils.py", line 33, in <module>
    from uamqp import types as uamqp_types
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/uamqp/__init__.py", line 12, in <module>
    from uamqp import c_uamqp  # pylint: disable=import-self
ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/uamqp/c_uamqp.cpython-310-darwin.so, 0x0002): symbol not found in flat namespace '_SASToken_CreateString'

修复方案

该错误源于M1芯片的arm64架构与uamqp预编译二进制包不兼容,以下是三种可行修复方式:

方式一:使用Rosetta 2兼容模式

  1. 打开终端应用,右键选择「显示简介」,勾选「使用Rosetta打开」,重启终端。
  2. 卸载现有冲突包:
    pip uninstall -y azure-eventhub uamqp
    
  3. 重新安装包:
    pip install azure-eventhub
    

方式二:源码编译安装兼容版本

  1. 先确保安装了Xcode命令行工具:
    xcode-select --install
    
  2. 卸载现有包:
    pip uninstall -y azure-eventhub uamqp
    
  3. 从源码编译安装uamqp:
    pip install uamqp --no-binary :all:
    
  4. 重新安装azure-eventhub:
    pip install azure-eventhub
    

方式三:升级到最新兼容版本

尝试直接升级azure-eventhub到最新版,新版本可能已修复M1兼容问题:

pip install --upgrade azure-eventhub

内容的提问来源于stack exchange,提问作者Tony

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 03:03:36