开发者社区 问答 正文

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

我刚刚在Python 2.7 64b中更新了lmfit包到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'

我使用以下版本: 如果你能帮助我,我将不胜感激。 谢谢你! 保罗。 问题来源StackOverflow 地址:/questions/59466719/lmfit-parameters-object-has-no-attribute-asteval

展开
收起
kun坤 2019-12-25 09:42:27 410 分享 版权
阿里云 AI 助理回答

这个错误信息表明在更新lmfit库到0.9.15版本后,尝试创建Parameters对象时遇到了问题。错误提示AttributeError: 'Parameters' object has no attribute '_asteval'说明Parameters类的实例没有预期的_asteval属性。

这可能是由于lmfit库的内部实现变更导致的不兼容性问题。考虑到你使用的是Python 2.7,还请注意lmfit库可能已经不再支持这么老的Python版本,因为许多库已逐步停止对Python 2的支持,转而全力支持Python 3。

解决这个问题有几种可能的途径:

  1. 回退lmfit版本:如果你确定之前的lmfit版本工作正常,可以考虑将lmfit回退到一个与你的Python 2.7环境兼容的版本。你可以使用pip来完成这个操作,命令如下:

    pip install lmfit==<之前的版本号>
    

    请替换<之前的版本号>为你之前使用的、工作正常的lmfit版本号。

  2. 升级Python:长远来看,最推荐的解决方案是升级你的Python环境到Python 3.x。Python 2已经在2020年停止官方支持,很多现代库和框架都要求至少Python 3.6或更高版本。升级Python后,再安装最新版的lmfit,可能会直接解决这个问题。

  3. 查看lmfit的官方文档或GitHub页面:有时候,这样的问题可能是已知的bug或者有其他用户也遇到过并提供了临时解决方案。访问lmfit的GitHub仓库(https://github.com/lmfit/lmfit-py)的Issue部分,搜索相关问题,看是否有开发者提供的修复建议或计划。

  4. 提交issue:如果上述方法都不能解决问题,且你确认这是一个新版本引入的问题,可以在lmfit的GitHub仓库中提交一个新的issue,详细描述你的问题、环境配置以及已尝试的解决步骤,项目维护者或社区成员可能会提供帮助。

希望这些建议能帮到你!

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答
问答分类:
问答地址: