ImportError: cannot import name get_ast_names error on lmfit
ImportError: cannot import name get_ast_names error on lmfit
我最近更新到 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 编译它并且没有问题所以问题只涉及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 install asteval
.
我最近更新到 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 编译它并且没有问题所以问题只涉及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 install asteval
.