Можно ли выполнить пакет, завернутый в архив, как модуль?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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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