学生:
导入库的时候出现这个错误提示
ImportError Traceback (most recent call last)
<ipython-input-1-f9fd1a6ebb7f> in <module>()
----> 1 import statsmodels.formula.api as smf
2 #没法导入升级也不行
C:\ProgramData\Anaconda3\lib\site-packages\statsmodels\formula\api.py in <module>()
13 from statsmodels.robust.robust_linear_model import RLM
14 rlm = RLM.from_formula
---> 15 from statsmodels.discrete.discrete_model import MNLogit
16 mnlogit = MNLogit.from_formula
17 from statsmodels.discrete.discrete_model import Logit
C:\ProgramData\Anaconda3\lib\site-packages\statsmodels\discrete\discrete_model.py in <module>()
43
44 from statsmodels.base.l1_slsqp import fit_l1_slsqp
---> 45 from statsmodels.distributions import genpoisson_p
46
47 try:
C:\ProgramData\Anaconda3\lib\site-packages\statsmodels\distributions\__init__.py in <module>()
1 from .empirical_distribution import ECDF, monotone_fn_inverter, StepFunction
----> 2 from .edgeworth import ExpandedNormal
3 from .discrete import genpoisson_p, zipoisson, zigenpoisson, zinegbin
C:\ProgramData\Anaconda3\lib\site-packages\statsmodels\distributions\edgeworth.py in <module>()
5 import numpy as np
6 from numpy.polynomial.hermite_e import HermiteE
----> 7 from scipy.misc import factorial
8 from scipy.stats import rv_continuous
9 import scipy.special as special
ImportError: cannot import name 'factorial'
老师这个怎么解决?
老师:
根据错误提示在调用调用statsmodels库的时候需要用到scipy库下面的misc模块下面的factorial模块,
而在scipy.misc下面不存在factorial。
你执行一下这个命令:
from scipy.misc import factorial
把错误提示发给我
学生:
----> 2 from scipy.misc import factorial
ImportError: cannot import name 'factorial'
老师:
这说明我们的问题是你的scipy版本和statsmodels版本不匹配,我看下你这个更新谁,如何更新。我的
statsmodels库比你的版本新,我看下相关的源文件代码是什么样的。
从这个路径下的edgeworth.py文件中可以看到,这里有个命令是
from scipy.special import factorial
说明factorial模块已经从scipy.misc移动到了scipy.special,
这样的话你当然无法成功导入了。
根据目前的情况分析,你应该升级statmodels库。你先执行下这个命令,然后告诉我结果,如果不行,你升级scipy库,然后再执行。
from scipy.special import factorial
学生:
这个可以运行通过了。
老师:
那可能就是你的statsmodels库的问题了,你把路径下的degeworth文件发给我,我帮你看下
那些更新库的人总是移动模块,导致用这些库继续写库的人也要及时更新。
D:\ProgramData\Anaconda3\Lib\site-packages\statsmodels\distributions这个路径下的edgeworth.py文件。
学生:
老师:
我帮你看下这个文件
你的statsmodels需要更新版本
学生:
没有啊
这咋整
重新删除安装么
老师:
卸载掉statsmodels库然后重新装
学生:
好的老师
学生:
老师可以运行了,太谢谢了
老师:
什么可以运行了?
学生:
没报错了
老师:你真跳跃呀,直接都已经运行代码了,你这手速真是快
学生:
哈哈 太闹心了 我这弄了两天了 ,现在教的这个老师不会弄这个说是是版本问题
太感谢了








暂无数据