Jak uvedli ostatní odpovědníci, funkce křížové kompilace je z PyInstaller odstraněna od 1.5
. Zde si ukažte, jak zabalit spustitelný soubor Windows ze skriptů Pythonu pomocí PyInstaller pod win.
Krok 1:Nainstalujte víno a Python
sudo apt-get install wine
wine msiexec /i python-2.7.10.msi /L*v log.txt
PS:
-
Novější verze Pythonu již obsahují
pip
(používá se k instalacipyinstaller
). Stáhněte si instalační balíček Pythonu odtud (např.python-2.7.10.msi
) -
Pro uživatele systému Macos použijte
brew cask install xquartz wine-stable
.
Krok 2:Nainstalujte PyInstaller na víno
$ cd ~/.wine/drive_c/Python27
$ wine python.exe Scripts/pip.exe install pyinstaller
Successfully installed pyinstaller-3.1.1 pypiwin32-219
Krok 3:Zabalte skripty Pythonu
Zabalte skripty Pythonu (např. HelloWorld.py
) s 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!')
Spustitelný soubor Windows je umístěn v dist/
.
$ wine dist/HelloWorld.exe
Hello World!
fixme:msvcrt:__clean_type_info_names_internal (0x1e24e5b8) stub
Podrobný popis naleznete zde.
Podívali jste se na PyInstaller?
Zdá se, že verze přes 1.4 podporují křížovou kompilaci (podpora byla odstraněna ve verzi 1.5+). Podívejte se na tuto odpověď, jak to udělat s PyInstaller 1.5+ pod Wine.
Dokumentace říká:
Přidejte podporu pro křížovou kompilaci:PyInstaller je nyní schopen vytvářet spustitelné soubory Windows, když běží pod Linuxem. Další podrobnosti naleznete v dokumentaci.
Sám jsem to nezkoušel.
Doufám, že to pomůže