Compilar en Linux
En Linux, pyzed build crea una carpeta, dist/Shop/, con un ejecutable llamado Shop y todo lo que necesita. No
hace falta firmarla.
Compilar
Sección titulada «Compilar»-
Instala uv si no lo tienes:
Ventana de terminal curl -LsSf https://astral.sh/uv/install.sh | sh -
En la carpeta del proyecto, compila:
Ventana de terminal uv run pyzed buildVentana de terminal source .venv/bin/activatepyzed build # o: python -m pyzed build -
Pruébala:
Ventana de terminal ./dist/Shop/Shop
En qué distribución compilar
Sección titulada «En qué distribución compilar»La app enlaza con la biblioteca de C (glibc) del sistema donde se compiló, y funciona en esa versión o en una más nueva. Compila en la distribución más antigua que quieras soportar. Por ejemplo, una app compilada en Ubuntu 22.04 funciona en Ubuntu 22.04, 24.04 y posteriores, y en otras distribuciones con glibc 2.35 o más nueva, pero no en Ubuntu 20.04.
Los wheels de Pyzed necesitan glibc 2.28 o más nueva (manylinux_2_28), así que esa es la base más antigua posible.
Alpine y otros sistemas basados en musl necesitan una compilación hecha en ellos.
Qué necesita el equipo de destino
Sección titulada «Qué necesita el equipo de destino»La app lleva Python y Pyzed consigo, pero usa las bibliotecas gráficas y de ventanas del sistema: una sesión de
escritorio con X11 o Wayland, libxkbcommon y un driver de Vulkan u OpenGL (Mesa en la mayoría de sistemas). Todas
las distribuciones de escritorio los tienen; las imágenes mínimas de servidor puede que no.
Compartirla
Sección titulada «Compartirla»En un archivo comprimido
Sección titulada «En un archivo comprimido»La forma más sencilla: un archivo comprimido de la carpeta. La gente lo descomprime donde quiera y ejecuta
./Shop/Shop.
tar -czf Shop-linux-x86_64.tar.gz -C dist Shop# o un zip, que es lo que usa la autoactualización:(cd dist && zip -qr ../Shop-linux-x86_64.zip Shop)Llama al zip <app>-linux-<arq>.zip si piensas actualizar la app sola.
Añadirla al menú de aplicaciones
Sección titulada «Añadirla al menú de aplicaciones»Un archivo .desktop hace que la app aparezca en el menú de aplicaciones del escritorio, con su icono. Instálalo por
usuario, sin root:
[Desktop Entry]Type=ApplicationName=ShopExec=/home/tu/.local/share/shop/ShopIcon=/home/tu/.local/share/shop/icon.pngCategories=Office;Terminal=falseEl instalador de Pyzed Design para Linux hace exactamente esto: descarga el zip de la versión, lo comprueba con el
SHA256SUMS de la versión, lo descomprime en ~/.local/share/pyzed-design, enlaza un comando en ~/.local/bin y
añade la entrada al menú. Su script,
docs/public/install.sh, es una buena
plantilla para tu propio instalador curl ... | sh.
AppImage, .deb, .rpm, Flatpak, Snap
Sección titulada «AppImage, .deb, .rpm, Flatpak, Snap»A tener en cuenta
Sección titulada «A tener en cuenta»- Arquitectura: la app se compila para la máquina donde se compila:
x86_64, oaarch64en ARM (GitHub también ofrece máquinas ARM, mira CI). - Sin GPU: en máquinas virtuales sin GPU, arranca la app con el renderizador por CPU si la ventana queda en blanco; mira Solución de problemas.
- Bit de ejecución: los zip creados en Windows pierden el bit de ejecución. Compila y comprime las apps de Linux en Linux.