Python3.9导入statsmodels的ARIMA模块报无法导入Literal错误
报错场景
Python 3.9 环境下调用statsmodels库加载ARIMA模型,执行导入语句:from statsmodels.tsa.arima.model import ARIMA
触发以下导入错误:ImportError: cannot import name 'Literal' from 'statsmodels.compat.python' (C:\Users\HP\Anaconda3\lib\site-packages\statsmodels\compat\python.py)
常规卸载、重装、升级statsmodels操作无法解决问题。
问题根因
该错误是Anaconda环境下pip/conda混装statsmodels导致旧版兼容文件残留触发的:statsmodels 0.13以上版本针对Python 3.8+环境已经移除了从statsmodels.compat.python导入Literal的兼容逻辑,环境中残留的旧版python.py兼容文件没有被常规卸载操作清除,安装新版本后加载逻辑优先读取残留旧文件,最终触发导入错误。
修复步骤
- 彻底清除所有statsmodels残留文件
打开对应环境的Anaconda Prompt,依次执行强制卸载命令:conda remove statsmodels --force -ypip uninstall statsmodels -y
命令执行完成后,手动进入报错信息提示的site-packages路径(即C:\Users\HP\Anaconda3\lib\site-packages\),删除所有名称包含statsmodels的文件夹,彻底清除残留旧文件。 - 清理安装缓存
执行以下命令清除conda和pip的本地安装缓存,避免安装时读取损坏的缓存包:conda clean -a -ypip cache purge - 安装适配Python 3.9的稳定版本依赖
先安装版本匹配的基础依赖,避免依赖版本不匹配触发旧兼容逻辑:conda install numpy=1.21.2 pandas=1.3.4 scipy=1.7.1 -y
基础依赖安装完成后,安装经过Python 3.9环境适配验证的statsmodels稳定版:pip install statsmodels==0.13.2 - 修复验证
启动Python解释器,重新执行ARIMA导入语句,无报错即修复完成。
注意:Anaconda环境下尽量避免用conda、pip重复安装同一个包,混装是出现这类残留文件导入错误的最常见诱因。
内容的提问来源于stack exchange,提问作者Frederico23
相关产品推荐
相关产品推荐

