安装statsmodels后出现numpy.lib.recfunctions模块缺失错误的解决求助
解决
ModuleNotFoundError: No module named 'numpy.lib.recfunctions'的问题 这个问题我之前碰到过,大概率是你的numpy版本不兼容或者安装出现了损坏——毕竟numpy.lib.recfunctions是numpy内置的模块,statsmodels运行时依赖它。结合你Ubuntu+Anaconda+Python3.6的环境,给你几个可行的解决办法:
第一步:先确认当前numpy版本和环境匹配度
在Spyder控制台或者终端激活你的test环境后,运行以下代码检查numpy版本:import numpy print(numpy.__version__)对于Python3.6来说,推荐使用numpy 1.19.x系列版本(这个版本完美兼容Python3.6和statsmodels),如果你的版本过低(比如低于1.11)或者过高,都可能出现模块找不到的问题。
第二步:重新安装兼容的numpy版本
打开终端,先激活你的conda环境:conda activate test先卸载当前的numpy:
conda uninstall numpy -y然后安装指定的兼容版本:
conda install numpy=1.19.5 -y安装完成后,再尝试导入statsmodels看看是否解决问题。
第三步:同步statsmodels版本(可选)
如果重新安装numpy后还是报错,可能是statsmodels版本和numpy不匹配。Python3.6对应的statsmodels最高兼容版本是0.12.2,你可以更新它:conda install statsmodels=0.12.2 -y第四步:确认Spyder使用的是正确的conda环境
有时候Spyder默认使用base环境而非你的test环境,导致模块找不到。你可以在Spyder里手动设置:- 点击顶部菜单栏的 Tools > Preferences
- 在弹出窗口中选择 Python interpreter
- 勾选 Use the following interpreter,然后找到
test环境下的Python路径(一般是/home/mattes/anaconda3/envs/test/bin/python) - 重启Spyder后再运行代码
内容的提问来源于stack exchange,提问作者Dennis




