Можно ли выполнить пакет, завернутый в архив, как модуль?Python

Программы на Python
Anonymous
Можно ли выполнить пакет, завернутый в архив, как модуль?

Сообщение Anonymous »

Вот структура:

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

__init__.py
__main__.py
server.py
Внутри __main__.py я использую относительный импорт:

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

from .server import app
Когда я архивирую каталог:

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

python -m zipapp app_builder
А затем попытайтесь запустить его вот так, я получаю сообщение об ошибке:

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

python app_builder.pyz
Ошибка импорта: попытка относительного импорта без известного родительского пакета

что ожидается. Мне нужен способ запуска кода внутри архива, подобный этому:

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

python -m app_builder
это отлично работает.

Подробнее здесь: https://stackoverflow.com/questions/785 ... -as-module

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