lmfit“参数”对象没有属性“ _asteval”

时间:2019-12-24 09:37:30

标签: python python-2.7 lmfit

我刚将lmfit软件包更新为Python 2.7 64b中的0.9.15版本,并且在创建新的Parameters对象(即p = lmfit.Parameters())时出现以下错误:

Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "C:\Python27_64b\lib\site-packages\lmfit\parameter.py", line 65, in __init__
    super(Parameters, self).__init__(self)
  File "C:\Python27_64b\lib\collections.py", line 48, in __init__
    self.update(*args, **kwds)
  File "C:\Python27_64b\lib\site-packages\lmfit\parameter.py", line 87, in update
    for sym in other._asteval.user_defined_symbols():
AttributeError: 'Parameters' object has no attribute '_asteval'

我刚刚从link尝试了这个示例:

import numpy as np
import lmfit
def double_exp(x, a1, t1, a2, t2):
    return a1*np.exp(-x/t1) + a2*np.exp(-(x-0.1) / t2)

model = lmfit.Model(double_exp)
truths = (3.0, 2.0, -5.0, 10.0)
x = np.linspace(1, 10, 250)
np.random.seed(0)
y = double_exp(x, *truths)+0.1*np.random.randn(x.size)
p = model.make_params(a1=4, t1=3, a2=4, t2=3)

但是它不起作用。因此,我尝试从lmfit创建一个Parameters对象:

import lmfit

p = lmfit.Parameters()

但它也不起作用。

我正在使用以下版本:

  • Python 2.7 64b
  • lmfit 0.9.15
  • numpy 1.16.5
  • 不确定性3.1.2
  • 六个1.11.0
  • 阿斯特瓦尔0.9.16

如果您能帮助我,我将不胜感激。

谢谢!

巴勃罗。

1 个答案:

答案 0 :(得分:0)

请执行以下操作:

pip uninstall lmfit==0.9.15
pip uninstall asteval==0.9.16

然后按照以下顺序再次安装它:

pip install asteval==0.9.16
pip install lmfit==0.9.15