Не удается импортировать относительный модуль - PullRequest
0 голосов
/ 07 августа 2020

Файловая структура для создаваемого им модуля выглядит следующим образом:

PIV
| __init__.py
| base.py
| core.py
| exceptions.py
.gitignore
LICENSE
requirements.txt

Но всякий раз, когда я запускаю такой файл, как core.py, я получаю следующую ошибку:

Traceback (most recent call last):
  File "c:/Users/ghub4/OneDrive/Desktop/Python-Image-and-Video-tools/PIV/core.py", line 33, in <module>
    from . import base
ImportError: attempted relative import with no known parent package

То же самое происходит, когда я запускаю файл __init__.py. Я не уверен, что пошло не так, потому что все файлы python находятся в одной папке. Может кто-нибудь прояснить, в чем проблема, и объяснить, как мне ее исправить?

Код импорта для файла core.py:

from __future__ import absolute_import
import sys
import os
from PIL import Image
import io
from . import base
from . import exceptions

( The __init__.py папка имеет тот же относительный импорт, что и в основном файле, но также включает: from . import core)

1 Ответ

1 голос
/ 07 августа 2020

Основываясь на двух ссылках, которые вы приведете ниже, вот что необходимо для решения проблемы:

Вам нужно импортировать пакет как этот

from mymodule import some_useful_method

Иногда мы получаем no module error, в этом случае мы можем импортировать вот так

from module_name.classname import some_useful_method
...