导入sktime.utils.data_io报ModuleNotFoundError如何解决
报错原因
该问题和sktime是否安装成功无关,是sktime版本迭代导致的API路径变更:0.17.0及之后的正式版本中,原sktime.utils.data_io模块被整体拆分迁移,旧的导入路径被直接废弃,因此执行原导入语句时会触发模块不存在的报错。
修复方法
根据你的代码适配需求二选一即可:
- 适配新版API(推荐)
load_from_tsfile_to_dataframe函数目前被归类到数据集加载模块下,直接将原导入语句替换为以下内容即可,函数的参数、返回值逻辑和旧版本完全一致,不需要修改后续调用代码:from sktime.datasets import load_from_tsfile_to_dataframe - 降级到兼容旧导入路径的版本
如果项目中存在大量依赖旧data_io模块的代码,不想逐行修改导入语句,可以卸载当前新版sktime,安装最后一个保留旧路径结构的0.16.1版本,执行以下命令:
安装完成后原导入语句可直接正常运行。pip3.9 uninstall -y sktime pip3.9 install sktime==0.16.1
验证方式
在Python3.9环境中重新执行导入语句,无ModuleNotFoundError报错即修复完成,可正常调用函数加载ts格式时序文件。
内容的提问来源于stack exchange,提问作者Ahmad
相关产品推荐
相关产品推荐

