代码之家  ›  专栏  ›  技术社区  ›  mmonti

ImportError:无法导入名称get\u ast\u names lmfit错误

  •  0
  • mmonti  · 技术社区  · 7 年前

    我最近更新了ubuntu18.04.1lts。在那之后,我试着运行一些python代码,结果发现一个与 lmfit package

    import scipy
    from asteval import get_ast_names
    import lmfit
    

    (我已经显式地添加了scipy和asteval模块,以检查python是否发现了它们) 我得到了这个错误:

        Traceback (most recent call last):
      File "/home/maurizio/Documents/Python/Programmini/PhD/TEAS/Test.py", line 3, in <module>
        import lmfit
      File "/home/maurizio/.local/lib/python2.7/site-packages/lmfit/__init__.py", line 42, in <module>
        from .confidence import conf_interval, conf_interval2d
      File "/home/maurizio/.local/lib/python2.7/site-packages/lmfit/confidence.py", line 12, in <module>
        from .minimizer import MinimizerException
      File "/home/maurizio/.local/lib/python2.7/site-packages/lmfit/minimizer.py", line 35, in <module>
        from .parameter import Parameter, Parameters
      File "/home/maurizio/.local/lib/python2.7/site-packages/lmfit/parameter.py", line 8, in <module>
        from asteval import Interpreter, get_ast_names, valid_symbol_name
    ImportError: cannot import name get_ast_names
    

    我找到了 this question

    有什么帮助吗?

    1 回复  |  直到 7 年前
        1
  •  1
  •   M Newville    7 年前

    我相信你一定有矛盾的说法 lmfit asteval . 这个 应该 安装时已自动注意到(理想情况下已解决) ,但似乎出了问题。对于最新版本,您应该

    >>> import asteval 
    >>> asteval.__version__
    0.9.12
    >>> import lmfit
    >>> lmfit.__version__
    0.9.11
    

    根据安装方式的不同,您可能需要检查并删除旧版本的 阿斯特瓦尔 $HOME/.local/lib/python2.7/site-packages/ 文件夹和重做 pip install asteval .