Seperti yang disebutkan oleh penjawab lain, fitur kompilasi silang dihapus dari PyInstaller sejak 1.5
. Di sini, tunjukkan cara mengemas Windows yang dapat dieksekusi dari skrip Python menggunakan PyInstaller di bawah wine.
Langkah 1:Instal wine dan Python
sudo apt-get install wine
wine msiexec /i python-2.7.10.msi /L*v log.txt
NB:
-
Versi Python yang lebih baru sudah menyertakan
pip
(digunakan untuk menginstalpyinstaller
). Unduh paket instalasi Python dari sini (mis.,python-2.7.10.msi
) -
Untuk pengguna makro, gunakan
brew cask install xquartz wine-stable
.
Langkah 2:Instal PyInstaller pada wine
$ cd ~/.wine/drive_c/Python27
$ wine python.exe Scripts/pip.exe install pyinstaller
Successfully installed pyinstaller-3.1.1 pypiwin32-219
Langkah 3:Kemas skrip Python
Kemas skrip Python (mis., HelloWorld.py
) dengan 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!')
File yang dapat dieksekusi Windows terletak di dist/
.
$ wine dist/HelloWorld.exe
Hello World!
fixme:msvcrt:__clean_type_info_names_internal (0x1e24e5b8) stub
Lihat di sini untuk deskripsi mendetail.
Apakah Anda melihat PyInstaller?
Tampaknya versi hingga 1.4 mendukung kompilasi silang (dukungan telah dihapus pada 1.5+). Lihat jawaban ini untuk cara melakukannya dengan PyInstaller 1.5+ di bawah Wine.
Dokumentasi mengatakan:
Tambahkan dukungan untuk kompilasi silang:PyInstaller sekarang dapat membuat executable Windows saat dijalankan di Linux. Lihat dokumentasi untuk detail selengkapnya.
Saya tidak mencobanya sendiri.
Saya harap ini membantu