我最近已更新到Ubuntu 18.04.1 LTS。之后,我尝试运行一些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
基本上说lmfit不能从asteval中找到函数get_ast_names,尽管当我尝试导入python解释器时不会抱怨,因此应该正确安装。 我发现this question遇到了类似的问题,并且评论中的那个人声称他通过用pip3重新安装来解决了这个问题,所以我尝试使用python3进行编译,因此没有问题,因此该问题仅涉及python 2
有帮助吗?
答案 0 :(得分:1)
我相信您的lmfit
和asteval
版本必须相互冲突。在安装lmfit
时,该应该已被自动注意到(理想情况下已解决),但是那里似乎出现了问题。对于最新版本,您应该获得
>>> import asteval
>>> asteval.__version__
0.9.12
>>> import lmfit
>>> lmfit.__version__
0.9.11
根据安装这些软件的方式,可能需要检查并删除asteval
文件夹中的$HOME/.local/lib/python2.7/site-packages/
较旧版本,然后重新执行pip install asteval
。