Python3 .8: В чем разница между ImportError и ModuleNotFoundError - PullRequest
0 голосов
/ 12 июля 2020

В python3 .8, в чем разница между ImportError и ModuleNotFoundError, и как я могу обрабатывать эти ошибки (что я помещаю в оператор except в try / except) ?

Я предполагаю, что ModuleNotFoundError означает, что модуля нет

Ответы [ 2 ]

1 голос
/ 12 июля 2020

ModuleNotFoundError - это вид из ImportError:

>>> issubclass(ModuleNotFoundError, ImportError)
True

Он возникает специально, когда модуль не может быть найден вообще. Другие проблемы могут возникнуть после того, как файл будет найден, но во время фактического процесса загрузки файла или определения функции: это вызовет ImportError.

Вероятно, вы не так много можете сделать около ModuleNotFoundError; вы можете либо игнорировать его и не использовать модуль, который вы пытались импортировать позже в коде, либо выйти и исправить свою среду, чтобы модуль был найден.

1 голос
/ 12 июля 2020

Согласно python docs:

Ошибка ImportError возникает, когда оператор импорта не может успешно импортировать указанный модуль. Как правило, такая проблема возникает из-за неверного или неверного пути, что вызывает ошибку ModuleNotFoundError в Python 3.6 и более новых версиях.

...