Python ImportError:无法导入名称获取\u ast\u名称lmfit错误

Python ImportError:无法导入名称获取\u ast\u名称lmfit错误,python,importerror,lmfit,Python,Importerror,Lmfit,我最近更新了Ubuntu 18.04.1 LTS。之后,我尝试运行一些python代码,但出现了一个与相关的错误,代码如下: import scipy from asteval import get_ast_names import lmfit (我已经明确添加了scipy和asteval模块,以检查python是否发现了它们) 我得到了这个错误: Traceback (most recent call last): File "/home/maurizio/Documents/P

我最近更新了Ubuntu 18.04.1 LTS。之后,我尝试运行一些python代码,但出现了一个与相关的错误,代码如下:

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
回溯(最近一次呼叫最后一次):
文件“/home/maurizio/Documents/Python/Programmini/PhD/TEAS/Test.py”,第3行,在
导入lmfit
文件“/home/maurizio/.local/lib/python2.7/site packages/lmfit/_init__.py”,第42行,在
from.confidence导入conf_interval,conf_interval2d
文件“/home/maurizio/.local/lib/python2.7/site packages/lmfit/confidence.py”,第12行,在
from.minimizer导入最小化异常
文件“/home/maurizio/.local/lib/python2.7/site packages/lmfit/minimizer.py”,第35行,在
from.parameter导入参数,参数
文件“/home/maurizio/.local/lib/python2.7/site packages/lmfit/parameter.py”,第8行,在
从asteval导入解释器中,获取\u ast\u名称、有效的\u符号\u名称
ImportError:无法导入名称获取\u ast\u名称
这基本上说明lmfit无法从asteval中找到函数get_ast_names,尽管python解释器在我尝试导入它时没有抱怨,因此应该正确安装它。 我发现了一个类似的问题,评论中的那个家伙声称他通过用pip3重新安装解决了这个问题,所以我尝试用python3编译它,没有问题,所以这个问题只涉及Python2


有什么帮助吗?

我相信您的
lmfit
asteval
版本一定有冲突。在安装
lmfit
时,应该会自动注意到(并在理想情况下解决),但似乎出现了一些问题。对于最新版本,您应该

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

根据安装方式的不同,您可能需要在
$HOME/.local/lib/python2.7/site packages/
文件夹中检查并删除较旧版本的
asteval
,然后重新执行
pip安装asteval

谢谢您的帮助,我解决了这个问题!正如你所说,基本上删除了文件夹并重新安装了asteval,但这还不够,所以我删除了asteval和lmfit,重新安装了lmfit,这就解决了问题!