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 в этом случае.

Другие вопросы по тегам