Python - ImportError: невозможно импортировать имя X
Я пытаюсь запустить один скрипт Python - который работал в прошлом - используя пару модулей. Однако некоторые Google предложили циклические зависимости, которые имеют отношение только к двум модулям импорта файлов, которые зависят друг от друга.
Кажется, сводится к scalarmath
не найден, но я не знаю почему. Мой код - это просто простые функции def для расчетов и последующего вызова этих функций (все в одном файле).
Вывод моей 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
1 ответ
Оказывается, решение было классическим деинсталляционным заданием переустановки. Казалось, что пакеты стали несовместимыми с недавним обновлением Windows или обновлением самих пакетов. Шаги для исправления (если они вам нужны):
1) Запустите python в отдельной программе и попробуйте импортировать библиотеку, например import numpy
, Вы все равно должны увидеть сообщение об ошибке вывода на изображении, которое было показано в вопросе. Это указывает на то, что это не локальная проблема для нашего кода. Закройте эту программу на Python / консоль / что угодно.
2) Откройте командную строку (cmd) и запустите conda (команда: conda
). Затем запустите команды conda install numpy
а также conda install matplotlib
, Нажмите "Да" [y], чтобы отобразить любые варианты. Эти команды, конечно, зависят от того, какие библиотеки доставляли вам неприятности.
3) В консоли Python IDE снова импортируйте библиотеки, т.е. import numpy
а также import matplotlib
, Запустите свой код, и вы должны его просто собрать (если у вас нет других ошибок)
Примечание. Возможно, вам придется удалить библиотеки-нарушители, которые могут вызвать проблемы в вашей среде conda в Anaconda Navigator. Чтобы сделать это, выберите вашу среду conda (мой был назван qutip
) и удалите проблемные пакеты. Они были matplotlib
а также numpy
в этом случае.