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 instalarpyinstaller
). 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.