LMFIT 'Parameters'对象没有属性'_asteval'



我刚刚在 Python 0.9 64b 中将 lmfit 包更新到版本 2.7 64b,并且在创建新的参数对象时引发以下错误(即p = lmfit.Parameters()(:

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

我刚刚从链接中尝试了此示例:

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 创建一个参数对象:

import lmfit
p = lmfit.Parameters()

但它也没有用。

我正在使用以下版本:

  • 蟒蛇 2.7 64b
  • LMFIT 0.9.15
  • NUMPY 1.16.5
  • 不确定性 3.1.2
  • 六 1.11.0
  • 星标 0.9.16

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

溶液:

问题出在Python 2.7的版本上。我更新到 Python 2.7.17,现在它可以工作了!

巴勃罗。

请执行以下操作:

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

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

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

最新更新