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

Paho Python MQTT报错:Unsupported callback API version 问题求助

解决Paho Python MQTT的"Unsupported callback API version"错误

这个错误是因为Paho MQTT Python 2.0及以上版本强制要求指定回调API版本参数,旧版本创建Client实例时无需该参数,直接沿用旧代码就会触发报错。

两种解决方式:

  • 推荐方式:使用新版回调API(VERSION2)
    在创建Client时传入callback_api_version参数指定为VERSION2,这是官方推荐的新版本API,支持更多特性:

    from paho.mqtt import client as mqtt_client
    import random
    
    broker = 'broker.emqx.io'
    port = 1883
    topic = "python/mqtt"
    client_id = f'python-mqtt-{random.randint(0, 1000)}'
    # 指定使用VERSION2回调API
    client = mqtt_client.Client(client_id, callback_api_version=mqtt_client.CallbackAPIVersion.VERSION2)
    
  • 兼容旧版回调API(VERSION1)
    如果暂时不想修改回调函数的写法,可以指定使用旧版API,但官方不推荐长期使用,建议逐步迁移到VERSION2:

    from paho.mqtt import client as mqtt_client
    import random
    
    broker = 'broker.emqx.io'
    port = 1883
    topic = "python/mqtt"
    client_id = f'python-mqtt-{random.randint(0, 1000)}'
    # 兼容旧版回调API
    client = mqtt_client.Client(client_id, callback_api_version=mqtt_client.CallbackAPIVersion.VERSION1)
    

注意事项

如果使用VERSION2,回调函数的参数会和旧版有差异,比如on_connect回调会新增properties参数,需要调整回调函数的定义以适配新版本要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 02:12:05