Saltar al contenido

Empaquetar un script de Python en Linux en un ejecutable de Windows

Solución:

Como lo mencionaron otros respondedores, la función de compilación cruzada se elimina de PyInstaller desde 1.5. Aquí, muestre cómo empaquetar un ejecutable de Windows desde scripts de Python usando PyInstaller en wine.

Paso 1: instala Wine y Python

sudo apt-get install wine
wine msiexec /i python-2.7.10.msi /L*v log.txt

PD:

  • Las versiones más nuevas de Python ya incluyen pip (se usa para instalar pyinstaller). Descargue el paquete de instalación de Python desde aquí (por ejemplo, python-2.7.10.msi)

  • Para usuarios de macos, utilice brew cask install xquartz wine-stable.

Paso 2: Instale PyInstaller en vino

$ cd ~/.wine/drive_c/Python27
$ wine python.exe Scripts/pip.exe install pyinstaller

Successfully installed pyinstaller-3.1.1 pypiwin32-219

Paso 3: empaquetar los scripts de Python

Paquete de scripts de Python (p. Ej., HelloWorld.py) con pyinstaller.

$ wine ~/.wine/drive_c/Python27/Scripts/pyinstaller.exe --onefile HelloWorld.py

# filename: HelloWorld.py

#!/usr/bin/env python
# -*- coding: utf-8 -*-

print('Hello World!')

El archivo ejecutable de Windows se encuentra en dist/.

$ wine dist/HelloWorld.exe 
Hello World!
fixme:msvcrt:__clean_type_info_names_internal (0x1e24e5b8) stub

Consulte aquí para obtener una descripción detallada.

¿Miraste PyInstaller?

Parece que las versiones a través de 1.4 admiten la compilación cruzada (el soporte se eliminó en 1.5+). Vea esta respuesta para saber cómo hacerlo con PyInstaller 1.5+ en Wine.

La documentación dice:

Agregue soporte para compilación cruzada: PyInstaller ahora puede compilar ejecutables de Windows cuando se ejecuta en Linux. Consulte la documentación para obtener más detalles.

No lo probé yo mismo.

Espero que ayude

Puede ejecutar Windows en VirtualBox para ejecutar py2exe. VBox ofrece un potente cliente de línea de comandos para automatizar tareas, por lo que es algo que probablemente podría integrar en su proceso de desarrollo con facilidad.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *