热线电话:13121318867

登录
2021-02-01 阅读量: 735
执行python代码的时候显示错误提示,导入库的时候显示错误提示。

学生:

图1.png导入库的时候出现这个错误提示

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库比你的版本新,我看下相关的源文件代码是什么样的。

图1.png

从这个路径下的edgeworth.py文件中可以看到,这里有个命令是

from scipy.special import factorial

说明factorial模块已经从scipy.misc移动到了scipy.special,

这样的话你当然无法成功导入了。

根据目前的情况分析,你应该升级statmodels库。你先执行下这个命令,然后告诉我结果,如果不行,你升级scipy库,然后再执行。


from scipy.special import factorial


学生:


图1.png这个可以运行通过了。


老师:

那可能就是你的statsmodels库的问题了,你把路径下的degeworth文件发给我,我帮你看下

那些更新库的人总是移动模块,导致用这些库继续写库的人也要及时更新。

D:\ProgramData\Anaconda3\Lib\site-packages\statsmodels\distributions这个路径下的edgeworth.py文件。

学生:

图1.png

老师:

我帮你看下这个文件


图1.png


你的statsmodels需要更新版本

学生:


没有啊
这咋整
重新删除安装么

图1.png


老师:

卸载掉statsmodels库然后重新装


学生:

好的老师

学生:

老师可以运行了,太谢谢了

老师:

什么可以运行了?

学生:

没报错了

图1.png

老师:你真跳跃呀,直接都已经运行代码了,你这手速真是快

学生:
哈哈 太闹心了 我这弄了两天了 ,现在教的这个老师不会弄这个说是是版本问题

太感谢了


0.0000
0
关注作者
收藏
评论(0)

发表评论

暂无数据