Descripción general de PyInstaller
PyInstaller agrupa una aplicación Python y todas sus dependencias en un solo paquete. El usuario puede ejecutar la aplicación empaquetada sin instalar un intérprete de Python ni ningún módulo.
Documentación: | https://pyinstaller.org/ |
---|
Código: | https://github.com/pyinstaller/pyinstaller |
---|
PyInstaller lee un script de Python escrito por usted. Analiza su código para descubrir todos los demás módulos y bibliotecas que su script necesita para ejecutarse. Luego recopila copias de todos esos archivos, ¡incluido el intérprete activo de Python! - y los coloca con su secuencia de comandos en una sola carpeta u, opcionalmente, en un solo archivo ejecutable.
PyInstaller se prueba en Windows, macOS y GNU/Linux. Sin embargo, no es un compilador cruzado: para crear una aplicación de Windows, ejecuta PyInstaller en Windows; para crear una aplicación GNU/Linux, se ejecuta en GNU/Linux, etc. PyInstaller se ha utilizado con éxito con AIX, Solaris, FreeBSD y OpenBSD, pero no se prueba con ellos como parte de las pruebas de integración continua.
Principales ventajas
- Funciona de inmediato con cualquier versión de Python 3.8-3.13.
- Totalmente multiplataforma y utiliza el soporte del sistema operativo para cargar las bibliotecas dinámicas, garantizando así una compatibilidad total.
- Incluye correctamente los principales paquetes de Python, como numpy, PyQt5, PySide2, PyQt6, PySide6, wxPython, matplotlib y otros, listos para usar.
- Compatible con muchos paquetes de terceros listos para usar. (Todos los trucos necesarios para que los paquetes externos funcionen ya están integrados).
- Funciona con firma de código en macOS.
- Incluye archivos DLL de MS Visual C++ en Windows.
Instalación
PyInstaller está disponible en PyPI. Puedes instalarlo a través de pip:
Requisitos y plataformas probadas
- Pitón:
- 3.8-3.13. Tenga en cuenta que Python 3.10.0 contiene un error que lo hace incompatible con PyInstaller. PyInstaller tampoco funcionará con las versiones beta de Python 3.14.
- Windows (32 bits/64 bits/ARM64):
- PyInstaller debería funcionar en Windows 7 o posterior, pero solo admitimos oficialmente Windows 8+.
- La compatibilidad con Python instalado desde la tienda de Windows sin utilizar entornos virtuales requiere PyInstaller 4.4 o posterior.
- Linux:
- Distribuciones basadas en GNU libc en arquitecturas
x86_64
, aarch64
, i686
, ppc64le
, s390x
. - Distribuciones basadas en musl libc en arquitecturas
x86_64
, aarch64
. - ldd: Aplicación de consola para imprimir las bibliotecas compartidas requeridas por cada programa o biblioteca compartida. Normalmente, esto se puede encontrar en el paquete de distribución glibc o libc-bin.
- objdump: Aplicación de consola para mostrar información de archivos objeto. Normalmente, esto se puede encontrar en el paquete de distribución binutils.
- objcopy: Aplicación de consola para copiar y traducir archivos objeto. Por lo general, esto también se puede encontrar en el paquete de distribución binutils.
- Los usuarios de Raspberry Pi en
armv5
- armv7
deben agregar piwheels como una URL de índice adicional y luego pip install pyinstaller
como de costumbre.
- MacOS (
x86_64
o arm64
): - macOS 10.15 (Catalina) o posterior.
- Admite la creación de aplicaciones
universal2
siempre que su instalación de Python y todas sus dependencias también estén compiladas universal2
.
Uso
El uso básico es muy simple, simplemente ejecútelo en su script principal:
pyinstaller /path/to/yourscript.py
Para más detalles, consulte el manual.
Plataformas no probadas
Se han contribuido con las siguientes plataformas y cualquier comentario o mejora sobre ellas es bienvenido.
- FreeBSD
- Solaris
- AIX
- AIX 6.1 o posterior. PyInstaller no funcionará con bibliotecas de Python vinculadas estáticamente.
- ldd
- Linux en cualquier otra combinación de implementación/arquitectura de libc no mencionada anteriormente.
Antes de utilizar cualquier plataforma aportada, debe crear el gestor de arranque PyInstaller. Esto sucederá automáticamente cuando pip install pyinstaller
siempre que tenga un compilador de C apropiado (generalmente gcc
o clang
) y los encabezados de desarrollo de zlib ya instalados.
Apoyo
- Guía de depuración oficial: https://pyinstaller.org/en/v6.11.1/when-things-go-wrong.html
- Varios temas de ayuda aportados por usuarios: https://github.com/pyinstaller/pyinstaller/wiki
- Foros de preguntas y respuestas basados en la web: https://github.com/pyinstaller/pyinstaller/discussions
- Foros de preguntas y respuestas basados en correo electrónico: https://groups.google.com/g/pyinstaller
Cambios en esta versión
Puede encontrar una lista detallada de los cambios en esta versión en la sección Registro de cambios del manual.