Windows 10下pyrtlsdr调用SDRPlay出现LibUSB_ERROR_IO错误的解决办法
解决SDRPlay设备无法用pyrtlsdr调用的问题
核心原因
pyrtlsdr是专门为RTL-SDR系列USB dongle开发的Python库,和你的SDRPlay硬件不兼容,这才导致了LIBUSB_IO错误。
具体解决步骤
卸载不兼容的pyrtlsdr
pip uninstall pyrtlsdr -y安装适配SDRPlay的Python工具
- 先确认SDRUno安装时已经附带安装了SDRPlay官方API驱动(如果没装,重新运行SDRUno安装程序补装即可)
- 推荐两种方案:
- 方案一:用官方Python绑定
sdrplay_apipip install sdrplay_api - 方案二:用通用SDR框架SoapySDR配合SDRPlay模块
先安装SoapySDR:
再从SDRPlay官方渠道下载对应Windows版本的pip install soapy-sdrSoapySDRPlay3预编译模块,放到SoapySDR的modules目录下(一般在Python环境的Lib\site-packages\SoapySDR\modules0.8路径)
- 方案一:用官方Python绑定
替换测试代码(以
sdrplay_api为例)import sdrplay_api # 初始化设备 dev = sdrplay_api.SDRplay() # 配置参数 dev.set_sample_rate(2.048e6) dev.set_center_freq(70e6) dev.set_gain(10) # 可根据实际需求调整增益值 # 读取采样数据 samples = dev.read_samples(512) print(samples) # 关闭设备 dev.close()额外注意
- 运行Python程序前,必须关闭SDRUno,防止设备被占用
- 如果你用的是Anaconda虚拟环境,要先激活环境再执行pip安装命令,避免依赖冲突
内容的提问来源于stack exchange,提问作者honeymoon
相关产品推荐
相关产品推荐

