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

树莓派Python环境下SignalR客户端运行及依赖安装问题咨询

解决树莓派Python连接Azure SignalR的问题

首先说你遇到的pip install -r requirements报错:这是因为你漏掉了依赖文件的后缀名!通常Python项目的依赖文件是requirements.txt,所以正确的命令应该是pip install -r requirements.txt。如果你的依赖文件叫别的名字,记得把命令里的文件名换成你实际的文件名就行。

然后要提醒你:signalr-client这个包其实不是官方维护的,而且版本比较旧,用来连接Azure SignalR可能会有兼容性问题。更推荐你用微软官方的Azure SignalR Python客户端包,步骤如下:

  1. 先卸载可能有问题的旧包:
pip uninstall -y signalr-client
  1. 安装官方的Azure SignalR客户端:
pip install azure-signalr

如果你的树莓派是Python 3.7以下版本,可能需要升级Python,因为这个包要求Python 3.7+。要是升级麻烦,也可以试试异步版本的SignalR客户端signalr-client-aio,兼容性稍好:

pip install signalr-client-aio
  1. 给你一个简单的连接示例(用官方azure-signalr包),你可以根据自己的Hub配置修改:
import asyncio
from azure.signalr.aio import SignalRClient

async def connect_to_signalr():
    # 替换成你Azure SignalR的连接字符串和Hub名称
    connection_string = "Endpoint=https://你的signalr服务名称.service.signalr.net;AccessKey=你的访问密钥;Version=1.0;"
    hub_name = "你的Hub名称"
    
    async with SignalRClient.from_connection_string(connection_string, hub_name) as client:
        # 定义接收消息的回调函数
        async def handle_message(message):
            print(f"收到实时消息: {message}")
        
        # 订阅Hub上的指定消息事件(替换成你的消息事件名)
        await client.on("你的消息事件名称", handle_message)
        
        # 启动连接
        await client.start()
        print("成功连接到Azure SignalR Hub")
        
        # 保持程序运行,避免退出
        await asyncio.Future()

if __name__ == "__main__":
    asyncio.run(connect_to_signalr())

另外,树莓派上安装Python包偶尔会遇到编译错误,这时候可以先安装系统依赖:

sudo apt-get update && sudo apt-get install python3-dev libssl-dev -y

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 03:23:35