Сообщение об ошибке «пакет/модуль относительного импорта init.py» обычно появляется, когда вы пытаетесь выполнить относительный импорт в Python, но пакет или модуль, из которого вы импортируете, этого не делает. есть файл __init__.py.
В Python файл __init__.pyиспользуется для пометки каталога как пакета и необходим для правильной работы относительного импорта. При относительном импорте вы пытаетесь импортировать модуль или пакет из того же пакета или из подпакета.
Вот несколько способов устранения ошибки «пакет/модуль относительного импорта init.py»:
-
Добавьте файл
__init__.py: убедитесь, что в каталоге, содержащем модуль или пакет, из которого вы пытаетесь импортировать, есть файл__init__.pyфайл. Этот файл может быть пустым или содержать код инициализации пакета. -
Используйте абсолютный импорт. Вместо использования относительного импорта вы можете использовать абсолютный импорт, указав полный путь к пакету. Например, если у вас есть структура пакета, такая как
my_package.subpackage.module, вы можете импортировать модуль из пакетаmy_package, используя оператор абсолютного импорта:from my_package модуль импорта. -
Обновите PYTHONPATH: если модуль или пакет, который вы пытаетесь импортировать, находится в другом каталоге, вы можете добавить этот каталог в переменную среды
PYTHONPATH. Это позволяет Python правильно найти и импортировать модуль. -
Используйте явный относительный импорт. Если вы все еще хотите использовать относительный импорт, вы можете использовать явные операторы относительного импорта. Явный относительный импорт использует начальные точки для указания количества родительских каталогов, которые необходимо пройти. Например, чтобы импортировать модуль из родительского пакета, вы можете использовать:
from.. import Module.
Вот пример, демонстрирующий использование явного относительного импорта:
my_package/
__init__.py
main.py
subpackage/
__init__.py
module.py
В module.py:
def hello():
print("Hello from module.py")
В main.py:
from .subpackage import module
module.hello()
При запуске main.pyвыводится: «Привет от модуля.py».
.py" Ошибка в Python
.py, пакет, модуль, ошибка