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

  1. Buat file Python sederhana
    Isi file script.py dengan kode berikut:
print('Hello World!')

Jalankan file tersebut untuk memastikan berjalan dengan baik:

PS D:\standalone-python> python script.py
Hello World!
  1. Install PyInstaller
    Install package pyinstaller menggunakan pip:
PS D:\standalone-python> pip install pyinstaller

Jika sudah pernah install, akan muncul pesan Requirement already satisfied.

  1. 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!
  1. Permasalahan Distribusi
    Jika file script.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).

Referensi