如何在树莓派上正确安装sktime并解决运行报错问题?
树莓派上正确安装并使用sktime的解决方案
问题根源
报错信息明确指出The 'parallel' target is not currently supported on 32 bit hardware,这是因为你的树莓派是32位armv7l架构,numba的并行计算模式不支持该硬件,并非numpy与numba版本不兼容。
解决方案
方案1:禁用numba并行模式(最快解决)
无需修改依赖版本,直接在代码中关闭并行计算:
import numpy as np import numba from sktime.classification.kernel_based import RocketClassifier # 强制numba使用单线程 numba.set_num_threads(1) # 初始化分类器时指定n_jobs=1,禁用并行 rocket = RocketClassifier(num_kernels=2000, n_jobs=1) X_train = np.array([[[1,2,3,4,4,5]], [[1,2,3,4,5,5]], [[1,2,4,5,6,7]]]) y_train = np.array([0, 0, 1]) rocket.fit(X_train, y_train)
方案2:使用系统预编译的numba包
pip安装numba失败是因为32位arm上编译llvmlite难度高,改用Raspbian仓库的预编译包:
- 卸载现有numba和llvmlite:
pip uninstall -y numba llvmlite
- 安装系统预编译包:
sudo apt update sudo apt install python3-numba python3-llvmlite
- 重新安装sktime(若之前已安装可跳过):
pip install sktime
注:系统包的numba版本可能较低,若sktime版本过高不兼容,可指定兼容版本安装:
pip install sktime<=0.15.0
方案3:切换到64位Raspbian系统
树莓派3B支持64位系统,64位环境下numba的并行模式可正常工作:
- 下载64位Raspbian镜像并重新刷入SD卡
- 完成系统配置后,直接执行
pip install sktime即可正常使用所有功能
内容的提问来源于stack exchange,提问作者Sashi
相关产品推荐
相关产品推荐

