Python memang bukan bahasa pemrograman compiled, tapi kita bisa membuat file executable menggunakan package pyinstaller
. Namun, untuk membuat executable yang berjalan di sistem operasi tertentu, proses build harus dilakukan di OS target tersebut.
Misalnya, jika ingin membuat executable berekstensi .exe
untuk Windows, proses build harus dilakukan di Windows. Jika melakukan development di Linux dan ingin membuat file executable untuk Windows, hal ini tidak bisa dilakukan secara langsung (kecuali menggunakan cross-compilation yang lebih rumit).
Contoh Membuat Executable Sederhana
- Buat file Python sederhana
Isi filescript.py
dengan kode berikut:
print('Hello World!')
Jalankan file tersebut untuk memastikan berjalan dengan baik:
PS D:\standalone-python> python script.py
Hello World!
- Install PyInstaller
Install packagepyinstaller
menggunakan pip:
PS D:\standalone-python> pip install pyinstaller
Jika sudah pernah install, akan muncul pesan Requirement already satisfied
.
- Build executable
Jalankan perintah berikut untuk membuat executable:
PS D:\standalone-python> pyinstaller script.py
Proses ini akan menghasilkan folder dist/script
yang berisi file script.exe
beserta dependensinya.
Struktur foldernya kurang lebih seperti ini:
PS D:\standalone-python> tree
Folder PATH listing
D:.
├───build
│ └───script
│ └───localpycs
└───dist
└───script
├───script.exe
├───python310.dll
└───(file-file .dll dan .pyd lainnya)
Jalankan executable-nya:
PS D:\standalone-python> .\dist\script\script.exe
Hello World!
- Permasalahan Distribusi
Jika filescript.exe
dipindahkan ke komputer lain, kemungkinan akan muncul error seperti:
Error loading Python DLL 'D:\python310.dll'.
LoadLibrary: The specified module could not be found.
Ini terjadi karena executable membutuhkan file-file .dll
dan .pyd
yang ada di folder dist/script
. Jika file-file tersebut tidak ada, executable tidak bisa dijalankan.
Membuat Executable 100% Standalone
Agar executable benar-benar standalone (tidak butuh file lain atau instalasi Python di komputer target), gunakan flag -F
(one file) dan --add-binary
untuk menyertakan file DLL Python ke dalam executable:
PS D:\standalone-python> pyinstaller -F --add-binary "C:\Users\<username>\AppData\Local\Programs\Python\Python310\python310.dll;." script.py
- Ganti
<username>
dengan nama user di Windows masing-masing. - Pastikan path dan versi Python sesuai dengan yang terinstall di komputer Anda.
Setelah proses selesai, file script.exe
akan berada di folder dist
dan sudah mengandung semua dependensi yang dibutuhkan. File ini bisa langsung dijalankan di komputer Windows lain tanpa perlu menginstall Python atau copy file lain.
Catatan
- Path ke
python310.dll
dan nama user bisa berbeda-beda tergantung instalasi Python di masing-masing komputer. - Untuk aplikasi yang lebih kompleks, pastikan semua dependensi eksternal juga sudah ter-handle oleh PyInstaller.
- Jika ingin membuat executable untuk OS lain (Linux/Mac), lakukan proses build di OS target atau gunakan cross-compilation (tidak dibahas di sini).