Wie von anderen Antwortenden erwähnt, wurde die Cross-Compilation-Funktion seit 1.5
aus PyInstaller entfernt . Hier zeigen Sie, wie Sie eine ausführbare Windows-Datei aus Python-Skripten mit PyInstaller unter wine packen.
Schritt 1:Wine und Python installieren
sudo apt-get install wine
wine msiexec /i python-2.7.10.msi /L*v log.txt
P.S.:
-
Neuere Python-Versionen enthalten bereits
pip
(wird verwendet, umpyinstaller
zu installieren ). Laden Sie hier das Python-Installationspaket herunter (z. B.python-2.7.10.msi
) -
Verwenden Sie für Macos-Benutzer
brew cask install xquartz wine-stable
.
Schritt 2:PyInstaller auf Wine installieren
$ cd ~/.wine/drive_c/Python27
$ wine python.exe Scripts/pip.exe install pyinstaller
Successfully installed pyinstaller-3.1.1 pypiwin32-219
Schritt 3:Python-Skripte packen
Paketieren Sie Python-Skripte (z. B. HelloWorld.py
) mit 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!')
Die ausführbare Windows-Datei befindet sich in dist/
.
$ wine dist/HelloWorld.exe
Hello World!
fixme:msvcrt:__clean_type_info_names_internal (0x1e24e5b8) stub
Eine ausführliche Beschreibung finden Sie hier.
Hast du dir PyInstaller angesehen?
Es scheint, dass die Versionen bis 1.4 Cross-Compilation unterstützen (Unterstützung wurde in 1.5+ entfernt). Siehe diese Antwort für die Vorgehensweise mit PyInstaller 1.5+ unter Wine.
Dokumentation sagt:
Unterstützung für Kreuzkompilierung hinzugefügt:PyInstaller kann jetzt ausführbare Windows-Dateien erstellen, wenn es unter Linux ausgeführt wird. Weitere Einzelheiten finden Sie in der Dokumentation.
Ich habe es nicht selbst versucht.
Ich hoffe, es hilft