Python – ImportError: cannot import name X
Python – ImportError: cannot import name X
我正在尝试 运行 一个单一的 python 脚本——它在过去有效——使用几个模块。一些谷歌搜索建议循环依赖,但这仅与两个文件导入模块相关。
似乎归结为 scalarmath
没有找到,但我不知道为什么。我的代码只是用于计算的简单函数 defs,然后调用这些函数(全部在一个文件中)。
我的 IDE 的输出是:
C:\Users\sg15\AppData\Local\Continuum\Anaconda2\python.exe "P:/Solid State QT/NSMM/simulations/InteractionsOfTLF.py"
Traceback (most recent call last):
File "P:/Solid State QT/NSMM/simulations/InteractionsOfTLF.py", line 13, in <module>
import matplotlib.pyplot as plt
File "C:\Users\sg15\AppData\Local\Continuum\Anaconda2\lib\site-packages\matplotlib\__init__.py", line 122, in <module>
from matplotlib.cbook import is_string_like, mplDeprecation, dedent, get_label
File "C:\Users\sg15\AppData\Local\Continuum\Anaconda2\lib\site-packages\matplotlib\cbook.py", line 33, in <module>
import numpy as np
File "C:\Users\sg15\AppData\Local\Continuum\Anaconda2\lib\site-packages\numpy\__init__.py", line 185, in <module>
from . import add_newdocs
File "C:\Users\sg15\AppData\Local\Continuum\Anaconda2\lib\site-packages\numpy\add_newdocs.py", line 13, in <module>
from numpy.lib import add_newdoc
File "C:\Users\sg15\AppData\Local\Continuum\Anaconda2\lib\site-packages\numpy\lib\__init__.py", line 8, in <module>
from .type_check import *
File "C:\Users\sg15\AppData\Local\Continuum\Anaconda2\lib\site-packages\numpy\lib\type_check.py", line 11, in <module>
import numpy.core.numeric as _nx
File "C:\Users\sg15\AppData\Local\Continuum\Anaconda2\lib\site-packages\numpy\core\__init__.py", line 20, in <module>
from . import scalarmath
ImportError: cannot import name scalarmath
Process finished with exit code 1
事实证明,解决方案是经典的卸载重新安装作业。这些软件包似乎与最近的 Windows 更新或软件包本身的更新不兼容。修复步骤(以备不时之需):
1) 运行 python 在单独的程序中,并尝试导入库 例如 import numpy
。您仍然应该在问题中显示的图像中看到输出错误消息。这表明这不是我们代码的本地问题。关闭 python program/console/whatever.
2) 打开命令提示符 (cmd) 和 运行 conda(命令:conda
)。然后 运行 命令 conda install numpy
和 conda install matplotlib
。对显示的任何选项单击是 [y]。当然,这些命令取决于哪些库给您带来了麻烦。
3) 在您的 python IDE 的控制台中,再次导入库 即 import numpy
和 import matplotlib
。 运行 你的代码和你应该构建得很好(前提是你没有其他错误)
注意:您可能必须卸载在 Anaconda Navigator 的 conda 环境中给您带来麻烦的有问题的库。为此,select 你的 conda 环境(我的被称为 qutip
)并删除麻烦的包。在这种情况下,它们是 matplotlib
和 numpy
。
我正在尝试 运行 一个单一的 python 脚本——它在过去有效——使用几个模块。一些谷歌搜索建议循环依赖,但这仅与两个文件导入模块相关。
似乎归结为 scalarmath
没有找到,但我不知道为什么。我的代码只是用于计算的简单函数 defs,然后调用这些函数(全部在一个文件中)。
我的 IDE 的输出是:
C:\Users\sg15\AppData\Local\Continuum\Anaconda2\python.exe "P:/Solid State QT/NSMM/simulations/InteractionsOfTLF.py"
Traceback (most recent call last):
File "P:/Solid State QT/NSMM/simulations/InteractionsOfTLF.py", line 13, in <module>
import matplotlib.pyplot as plt
File "C:\Users\sg15\AppData\Local\Continuum\Anaconda2\lib\site-packages\matplotlib\__init__.py", line 122, in <module>
from matplotlib.cbook import is_string_like, mplDeprecation, dedent, get_label
File "C:\Users\sg15\AppData\Local\Continuum\Anaconda2\lib\site-packages\matplotlib\cbook.py", line 33, in <module>
import numpy as np
File "C:\Users\sg15\AppData\Local\Continuum\Anaconda2\lib\site-packages\numpy\__init__.py", line 185, in <module>
from . import add_newdocs
File "C:\Users\sg15\AppData\Local\Continuum\Anaconda2\lib\site-packages\numpy\add_newdocs.py", line 13, in <module>
from numpy.lib import add_newdoc
File "C:\Users\sg15\AppData\Local\Continuum\Anaconda2\lib\site-packages\numpy\lib\__init__.py", line 8, in <module>
from .type_check import *
File "C:\Users\sg15\AppData\Local\Continuum\Anaconda2\lib\site-packages\numpy\lib\type_check.py", line 11, in <module>
import numpy.core.numeric as _nx
File "C:\Users\sg15\AppData\Local\Continuum\Anaconda2\lib\site-packages\numpy\core\__init__.py", line 20, in <module>
from . import scalarmath
ImportError: cannot import name scalarmath
Process finished with exit code 1
事实证明,解决方案是经典的卸载重新安装作业。这些软件包似乎与最近的 Windows 更新或软件包本身的更新不兼容。修复步骤(以备不时之需):
1) 运行 python 在单独的程序中,并尝试导入库 例如 import numpy
。您仍然应该在问题中显示的图像中看到输出错误消息。这表明这不是我们代码的本地问题。关闭 python program/console/whatever.
2) 打开命令提示符 (cmd) 和 运行 conda(命令:conda
)。然后 运行 命令 conda install numpy
和 conda install matplotlib
。对显示的任何选项单击是 [y]。当然,这些命令取决于哪些库给您带来了麻烦。
3) 在您的 python IDE 的控制台中,再次导入库 即 import numpy
和 import matplotlib
。 运行 你的代码和你应该构建得很好(前提是你没有其他错误)
注意:您可能必须卸载在 Anaconda Navigator 的 conda 环境中给您带来麻烦的有问题的库。为此,select 你的 conda 环境(我的被称为 qutip
)并删除麻烦的包。在这种情况下,它们是 matplotlib
和 numpy
。