ImportError: попытка относительного импорта за пределы пакета верхнего уровня.Python

Программы на Python
Anonymous
ImportError: попытка относительного импорта за пределы пакета верхнего уровня.

Сообщение Anonymous »

У меня есть такая папка:

Код: Выделить всё

draft
model
a.py
package
b.py

Я хочу импортировать функцию из a.py в b.py с помощью этого кода из ..model import a.

Но у меня есть такая ошибка:

Код: Выделить всё

ImportError: attempted relative import with no known parent package
Я попробую ответить на этот вопрос первым

Код: Выделить всё

python -m package.b
Но возникает еще одна ошибка:

Код: Выделить всё

ImportError: attempted relative import beyond top-level package
Я попытался добавить __init__.py и в модель, и в пакет, и в папку черновиков.

Но то же самое ошибка все равно произошла.
Я знаю, что есть такое решение:

Код: Выделить всё

import sys
sys.path.append(f'{source_path}/draft/model')
Но когда я перенесу этот код на другой компьютер, исходный_путь должен быть изменен. Когда я забуду, может возникнуть ошибка.
Может ли кто-нибудь мне помочь?

Подробнее здесь: https://stackoverflow.com/questions/782 ... el-package

Вернуться в «Python»