PyInstaller: empaquetar el código fuente de Python en un programa ejecutable exe

1. Introducción a PyInstaller

PyInstaller es una biblioteca de terceros que puede empaquetar archivos fuente de Python en Windows, Linux, Mac OS X y otros sistemas operativos. Al empaquetar los archivos fuente, el programa Python puede ejecutarse en un entorno donde Python no está instalado, o puede ser se utiliza como documento independiente Los documentos son fáciles de transferir y administrar.

PyInstaller es compatible con Python 2.7 y Python 3.3+. Se puede usar en Windows, Mac OS X y Linux, pero no es multiplataforma, pero si desea empaquetarlo en un archivo .exe, debe ejecutar PyInstaller en el sistema Windows para el trabajo de empaquetado; para empaquetarlo en una aplicación de Mac, debe ejecutarla en Mac Use en OS.

Instalar y actualizar

pip/pip3 install pyinstaller
pip/pip3 install --upgrade pyinstalle

Nota:

  1. La biblioteca PyInstaller instalará automáticamente el comando PyInstaller en el directorio del intérprete de Python, que es el mismo que la ruta del comando pip o pip3, por lo que se puede usar directamente.
  2. La ejecución de PyInstaller en Windows también requiere PyWin32 o pypiwin32, y pypiwin32 se instalará automáticamente cuando instale PyInstaller.

Dos, PyInstaller genera programas ejecutables

La sintaxis de comandos de la herramienta PyInstaller es la siguiente:

pyinstaller 选项 Python 源文件

Independientemente de si la aplicación Python es una aplicación de un solo archivo o una aplicación de múltiples archivos, simplemente compile el programa Python como el punto de entrada del programa cuando use el comando pyinstaller.

La herramienta PyInstaller es multiplataforma y se puede utilizar tanto en plataformas Windows como Mac OS X. El método para usar la herramienta PyInstaller en diferentes plataformas es el mismo, y las opciones que admiten también son las mismas.

Primero creemos un directorio de aplicaciones y creemos un archivo app.py en este directorio. El archivo contiene el siguiente código:

def main():
	print('程序开始执行')

if __name__ == '__main__':
	main()

A continuación, use la herramienta de línea de comandos para ingresar al directorio de la aplicación y ejecute el siguiente comando:

pyinstaller -F app.py

Ejecute el comando anterior, verá el proceso de generación detallado. Cuando se complete la generación, verá un directorio dist adicional en el directorio de la aplicación y un archivo app.exe en este directorio. Este es el programa EXE generado por la herramienta PyInstaller.

Ingrese el directorio dist en la ventana de la línea de comando, ejecute app.exe en el directorio,

dist> ./app.exe

Verá que el programa produce la siguiente salida:

程序开始执行

Dado que el programa no tiene una interfaz gráfica de usuario, si los lectores intentan ejecutar el programa haciendo doble clic, solo pueden ver que la ventana del programa desaparece en un instante, de modo que no se puede ver la salida del programa.

La opción -F se usa en el comando anterior. Esta opción especifica que se genera un archivo EXE separado. Por lo tanto, se genera un archivo app.exe separado de aproximadamente 6 MB en el directorio dist (el archivo generado en la plataforma Mac OS X es llamada aplicación, sin sufijo); Correspondiente a la opción -F está la opción -D (opción predeterminada), que especifica generar un directorio (que contiene varios archivos) como un programa.

Primero elimine los directorios build y dist generados por la herramienta PyInstaller en el directorio de la aplicación, elimine el archivo app.spec y luego use el siguiente comando para generar el archivo EXE.

pyinstaller -D app.py

Ejecute el comando anterior, verá el proceso de generación detallado. Cuando se complete la generación, verá un directorio dist adicional en el directorio de la aplicación y un subdirectorio de la aplicación en este directorio, que contiene una gran cantidad de archivos .dll y archivos .pyz, todos los cuales son el archivo de apoyo de el programa app.exe. Ejecute el programa app.exe en la ventana de la línea de comandos y también podrá ver el mismo resultado de salida que el programa app.exe anterior.

PyInstaller no solo admite las opciones -F y -D, sino que también admite opciones comunes como se muestra en la Tabla 1.

-h , –ayuda Ver la información de ayuda del módulo
-F, -un archivo Genera un solo archivo ejecutable
-D, –onedir Genere un directorio (que contenga varios archivos) como un programa ejecutable
-a , –ascii No incluye compatibilidad con juegos de caracteres Unicode
-d , –debug Genere una versión de depuración del archivo ejecutable
-w , –windowed , –noconsolc Especifica que no se muestre la ventana de la línea de comandos cuando el programa se está ejecutando (solo válido para Windows)
-c , –nowindowed , –console Especifique usar la ventana de línea de comando para ejecutar el programa (solo válido para Windows)
-o DIR , –out = DIR Especifique el directorio de generación del archivo de especificaciones. Si no se especifica, el directorio actual se utiliza para generar el archivo de especificaciones de forma predeterminada.
-p DIR , –path = DIR Establezca la ruta del módulo de importación de Python (similar a establecer la variable de entorno PYTHONPATH). También puede utilizar separadores de ruta (un punto y coma para Windows y dos puntos para Linux) para separar varias rutas
-n NOMBRE , –nombre = NOMBRE Especifique el nombre del proyecto (la especificación generada). Si se omite esta opción, el nombre del archivo principal del primer script se utilizará como el nombre de la especificación.

Supongo que te gusta

Origin blog.csdn.net/u013250861/article/details/114297021
Recomendado
Clasificación