我正在尝试安装talos (https://github.com/autonomio/talos)并将其导入到我的jupyter笔记本中。我在anaconda3上使用"pip install talos“来安装它。一切都很顺利,但是现在当我尝试导入talos时,我得到了以下错误:
import talos
ImportError: cannot import name 'float_factorial' from 'scipy._lib._util'(C:\Users\myname\Anaconda3\lib\site-packages\scipy\_lib\_util.py) 奇怪的是,当我访问这个特定的文件夹时,有一个float_factorial函数,所以我不明白为什么它不能工作。是什么导致了这个问题?我应该如何解决它?
提前感谢!
附注:我使用的是anaconda3,scipy 1.6.1和Talos1.0。
发布于 2021-03-31 22:44:54
我找到了一个适合我的解决方案。转到C:\Users\myname\Anaconda3\lib\site-packages\scipy_lib_util.py并编辑float_factorial函数。只需将其重写如下:
def float_factorial(n: int) -> float:
"""Compute the factorial and return as a float
Returns infinity when result is too large for a double
"""
return float(math.factorial(n)) if n < 171 else np.inf为了更简单,我删除了函数注释:
def float_factorial(num):
"""Compute the factorial and return as a float
Returns infinity when result is too large for a double
"""
val = float(math.factorial(num)) if num < 171 else np.inf
return val我认为这与Python版本和3.8中的变化有关
https://stackoverflow.com/questions/66647283
复制相似问题