Comme mentionné par d'autres répondeurs, la fonction de compilation croisée est supprimée de PyInstaller depuis 1.5
. Ici, montrez comment empaqueter un exécutable Windows à partir de scripts Python à l'aide de PyInstaller sous wine.
Étape 1 :Installer Wine et Python
sudo apt-get install wine
wine msiexec /i python-2.7.10.msi /L*v log.txt
PS :
-
Les nouvelles versions de Python incluent déjà
pip
(est utilisé pour installerpyinstaller
). Téléchargez le package d'installation Python à partir d'ici (par exemple,python-2.7.10.msi
) -
Pour les utilisateurs de macos, utilisez
brew cask install xquartz wine-stable
.
Étape 2 :Installer PyInstaller sur wine
$ cd ~/.wine/drive_c/Python27
$ wine python.exe Scripts/pip.exe install pyinstaller
Successfully installed pyinstaller-3.1.1 pypiwin32-219
Étape 3 :Empaquetez les scripts Python
Empaquetez les scripts Python (par exemple, HelloWorld.py
) avec 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!')
Le fichier exécutable Windows se trouve dans dist/
.
$ wine dist/HelloWorld.exe
Hello World!
fixme:msvcrt:__clean_type_info_names_internal (0x1e24e5b8) stub
Reportez-vous ici pour la description détaillée.
Avez-vous regardé PyInstaller ?
Il semble que les versions jusqu'à 1.4 prennent en charge la compilation croisée (la prise en charge a été supprimée dans 1.5+). Voir cette réponse pour savoir comment le faire avec PyInstaller 1.5+ sous Wine.
La documentation indique :
Ajout de la prise en charge de la compilation croisée :PyInstaller est désormais capable de créer des exécutables Windows lorsqu'il s'exécute sous Linux. Voir la documentation pour plus de détails.
Je n'ai pas essayé moi-même.
J'espère que ça aide