Buscar..


Sintaxis

  • pyinstaller [opciones] script [script ...] | archivo de especificaciones

Observaciones

PyInstaller es un módulo utilizado para agrupar aplicaciones de Python en un solo paquete junto con todas las dependencias. El usuario puede ejecutar la aplicación del paquete sin un intérprete de Python o cualquier módulo. Combina correctamente muchos paquetes importantes como numpy, Django, OpenCv y otros.

Algunos puntos importantes para recordar:

  • Pyinstaller es compatible con Python 2.7 y Python 3.3+
  • Pyinstaller ha sido probado contra Windows, Linux y Mac OS X.
  • NO es un compilador cruzado. (Una aplicación de Windows no se puede empaquetar en Linux. Debe ejecutar PyInstaller en Windows para agrupar una aplicación para Windows)

Página de inicio documentos oficiales

Instalación y configuración

Pyinstaller es un paquete normal de Python. Se puede instalar utilizando pip:

pip install pyinstaller

Instalación en Windows
Para Windows, pywin32 o pypiwin32 es un requisito previo. Este último se instala automáticamente cuando se instala pyinstaller usando pip.

Instalación en Mac OS X
PyInstaller funciona con el Python 2.7 predeterminado que se proporciona con el Mac OS X actual. Si se van a usar versiones posteriores de Python o si se deben usar paquetes importantes como PyQT, Numpy, Matplotlib y similares, se recomienda instalarlos usando ya sea MacPorts o Homebrew .

Instalación desde el archivo
Si pip no está disponible, descargue el archivo comprimido desde PyPI .
Para probar la versión de desarrollo, descargue el archivo comprimido desde la rama de desarrollo de la página de descargas de PyInstaller .

Expanda el archivo y encuentre el script setup.py . Ejecute python setup.py install con privilegio de administrador para instalar o actualizar PyInstaller.

Verificando la instalación
El comando pyinstaller debería existir en la ruta del sistema para todas las plataformas después de una instalación exitosa.
pyinstaller --version escribiendo pyinstaller --version en la línea de comando. Esto imprimirá la versión actual de pyinstaller.

Usando Pyinstaller

En el caso de uso más simple, simplemente navegue hasta el directorio en el que se encuentra su archivo y escriba:

pyinstaller myfile.py

Pyinstaller analiza el archivo y crea:

  • Un archivo myfile.spec en el mismo directorio que myfile.py
  • Una carpeta de compilación en el mismo directorio que myfile.py
  • Una carpeta dist en el mismo directorio que myfile.py
  • Archivos de registro en la carpeta de compilación

La aplicación incluida se puede encontrar en la carpeta dist

Opciones
Hay varias opciones que se pueden usar con pyinstaller. Una lista completa de las opciones se puede encontrar aquí .

Una vez que su aplicación se puede empaquetar, abra 'dist \ myfile \ myfile.exe'.

Agrupar en una carpeta

Cuando se usa PyInstaller sin ninguna opción para agrupar myscript.py , la salida predeterminada es una única carpeta (denominada myscript ) que contiene un ejecutable llamado myscript ( myscript.exe en Windows) junto con todas las dependencias necesarias.
La aplicación se puede distribuir comprimiendo la carpeta en un archivo zip.

El modo de una carpeta se puede configurar explícitamente con la opción -D o --onedir

pyinstaller myscript.py -D

Ventajas:

Una de las principales ventajas de agrupar en una sola carpeta es que es más fácil depurar problemas. Si alguno de los módulos no se puede importar, puede verificarse inspeccionando la carpeta.
Otra ventaja se siente durante las actualizaciones. Si hay algunos cambios en el código pero las dependencias utilizadas son exactamente las mismas, los distribuidores pueden enviar el archivo ejecutable (que generalmente es más pequeño que la carpeta completa).

Desventajas

La única desventaja de este método es que los usuarios tienen que buscar el ejecutable entre una gran cantidad de archivos.
Además, los usuarios pueden eliminar / modificar otros archivos, lo que puede hacer que la aplicación no funcione correctamente.

Agrupar en un solo archivo

pyinstaller myscript.py -F

Las opciones para generar un solo archivo son -F o --onefile . Esto myscript.exe el programa en un solo archivo myscript.exe .

Un solo archivo ejecutable es más lento que el paquete de una carpeta. También son más difíciles de depurar.



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow