Pex — это библиотека для создания .pex файлов, которые представляют собой исполняемые Python окружения, аналогичные virtualenv, но более удобные.
#Python #Pex #DevOps #Automation #PythonDevelopment #VirtualEnv #Packaging
https://github.com/pex-tool/pex
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - pex-tool/pex: A tool for generating .pex (Python EXecutable) files, lock files and venvs.
A tool for generating .pex (Python EXecutable) files, lock files and venvs. - pex-tool/pex
1👍2🔥2
Pyappdist - это инструмент для сборки нативных установщиков (инсталляторов) для Python-приложений, который раз и навсегда решает проблему бесконечного поиска скрытых импортов, потерянных файлов данных и неработающих плагинов.
Главное отличие
pyappdist от классических «замораживателей» кода (вроде PyInstaller) заключается в том, что он не упаковывает приложение в один монолитный .exe-файл. Вместо этого инструмент собирает настоящий, чистый и изолированный Python-рантайм и устанавливает ваше приложение внутрь него точно так же, как это делает pip.Благодаря такому подходу вам больше не нужно писать костыли, воевать со флагами
--hidden-import или прописывать пути к ресурсам через --add-data. Если проект запускается локально через uv run, он гарантированно заработает и после сборки. Расширения на C (C extensions), бинарные пакеты (abi3 wheels), сложные плагины для Qt (PySide6) и интерфейсы на tkinter работают из коробки без каких-либо модификаций..msi (пользовательские или системные) и пакеты .msix для Microsoft Store..dmg и бандлы .app с полноценной поддержкой подписи кода и нотариализации (notarization)..run-архивы и обычные .tar.gz (установка в один клик в пользовательскую директорию без root-прав).pyproject.toml:Настройки лаунчеров и платформ сборки описываются прямо в конфигурационном файле вашего проекта:
[tool.pyappdist]
name = "My App"
python = "3.12"
[[tool.pyappdist.launchers]]
name = "myapp"
entry = "myapp:main"
gui = true # Использовать pythonw.exe (без консольного окна) на Windows
icon = "assets/app.ico"
[[tool.pyappdist.targets]]
name = "windows"
platform = "windows-x86_64"
format = "msi"
manufacturer = "Example Inc."
После этого достаточно добавить пакет в dev-зависимости и запустить сборку:
uv add --dev pyappdist
uv run pyappdist build windows-x86_64
Итоговый инсталлятор соберется автоматически и упакуется в папку
appdist/windows/dist/.uv.#Python #Packaging #PyAppDist #DevTools #Windows #MacOS #Linux #SoftwareDevelopment #OpenSource #Deployment
https://github.com/atsuoishimoto/pyappdist
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - atsuoishimoto/pyappdist: Build native installers for Python apps from pyproject.toml — Windows MSI/MSIX, macOS PKG/DMG…
Build native installers for Python apps from pyproject.toml — Windows MSI/MSIX, macOS PKG/DMG, Linux self-extracting - atsuoishimoto/pyappdist
1🔥3👍2