Распространение кроссплатформенных бинарных пакетов только для Python, которые могут быть выполнены во время выполнения Python?
Есть ли способ объединить проект Python в кроссплатформенный пакет только для двоичных файлов, который может запускаться третьей стороной с использованием существующей среды выполнения Python?
Например, что-то, что может быть запущено с существующей средой выполнения как:
python bundle.zip
Я НЕ ищу способ создания собственных исполняемых файлов для конкретной ОС, таких как py2app, pyinstaller или py2exe.
Я предполагаю, что python может иметь готовое решение (или сторонний модуль), подобное zipapp, которое будет включать только .pyc
файлы и раздеть оригинал .py
файлы и будет принимать стандарт setup.py
файл в качестве ввода.
В идеале было бы хорошо объединить чистые зависимости Python (исключая специфичные для бинарной платформы зависимости), но это не является строго необходимым, поскольку предполагается, что конечный пользователь может сделать pip install -r requirements
на любой платформе они собираются запустить ее.
По аналогии, у Java есть исполняемый файл .jar
модель распространения, которая позволяет выполнять их кроссплатформенные, при условии, что .jar
содержит необходимую точку входа и не содержит родных для ОС библиотек.