Рубрики
Без рубрики

Включение Easy ZipApp устанавливает на Windows

Как подготовить систему Windows для хорошего опыта PYZ. Zipapps в utshell zipapp … Помечено с окнами, Python, DevOps, конфигурацией.

Как подготовить систему Windows для хорошего опыта PYZ.

Zipapps в двух словах

ZipApps – это способ распространения приложений Python и всех их зависимостей в одном двоичном файле. Это сопоставимо с статически связанными приложениями Голанга или «исполняемые банки Java». Их главное преимущество заключается в том, что распространение и установка их довольно просты.

Бег Код Python непосредственно из Zip Archives ничто новое, PEP 273 Сделал свой дебют в 2001 году, как часть Python 2.3 в виде Zipimport модуль. PEP 441 Создает это и описывает механизмы для подключения полных приложений в один файл ZIP, который может быть выполнен исполняемым. Он был одобрен в 2015 году, и первая реализация появилась в Python 3.5 через zipapp. модуль.

См. PEP для деталей о том, как создавать ZIP в исполняемые файлы, но в основном на POSIX Systems переводчик Python вызывается в «пути Bang», который сопровождается ZIP-архивом. Переводчик признает «сценарий» – это целый архив приложений и действует соответственно. На окнах, zipapps Должен нести .пью Расширение, которое связано с PY Диспетчерская команда, которая, в свою очередь, смотрит на путь взрыва и вызывает соответствующий интерпретатор Python от установленного набора.

Чтобы отобразить путь Bang ZipApp, используйте эту команду:

python3 -m zipapp --info foo.pyz

Если вы хотите изменить запрошенную версию Python к тому, что на самом деле устанавливается или что вы предпочитаете, измените путь Bang в составе процесса установки:

python3 -m zipapp -p '/usr/bin/env python3.8' -o ~/bin/foo foo.pyz

Это также может быть сделано на специальной основе, явно вызывая желаемый переводчик:

python3.8 foo.pyz … # POSIX
py -3.8 foo.pyz … # Windows

Известные инструменты для создания новых zipApps, за пределами ядра Python, являются PEX (Twitter) и Шив (LinkedIn). Смотрите их документацию для получения подробной информации о пакете своих собственных приложений.

Настройка Windows 10 для zipApps

В окнах, потому что нет «+ X» флаг, вещи немного сложнее, чем на POSIX. Zipapps Должен иметь .pyz расширение, для чего цена Launcher зарегистрирован как приложение по умолчанию. Чистый эффект состоит в том, что такие файлы становятся исполняемыми и передаются на лаунчер Если Вы добавляете несколько настроек окружающей среды на вашу машину.

В пользовательских настройках среды добавьте новый Pathext переменная (или продлеть существующий), со значением % Pathext%;. Pyz Отказ Также отредактируйте Путь один и добавить новый % Localappdata% \ bin Вход. Сохраните все (нажмите «ОК»), откройте Новый Командное окно и проверьте изменения с

 echo %PATHEXT% & echo %PATH%

Создайте новый каталог Bin, позвонив MD% localappdata% \ bin Отказ Теперь вы можете разместить файл zipApp, как foo.pyz в этом каталоге, и он немедленно Callable как фюра .

Чтобы получить такой тестовый предмет, вы можете построить Шив С самим собой:

git clone https://github.com/linkedin/shiv.git
cd shiv
py -3 -m venv --prompt shiv venv
venv\Scripts\activate.bat
python -m pip install -e .
shiv -e shiv.cli:main -o %LOCALAPPDATA%\bin\shiv.pyz .
deactivate
shiv --version

Вариации

Если это имеет вам больше смысла, вы можете изменить системные переменные вместо пользователей, и выбирают пути, которые являются глобальными для всех пользователей (например, C: \ usr \ bin или аналогичные).

Чтобы сделать ZipApps доступными в сети, вы можете использовать % Appdata% Чтобы сохранить zipApps, так что вам нужно только поддерживать их один раз, если вы регулярно работаете на нескольких машинах в той же сети. Просто убедитесь, что такая же версия Python используется повсюду.

Оригинал: “https://dev.to/jhermann/enabling-easy-zipapp-installs-on-windows-6og”