Tutorial Python: Mengkonversi file script menjadi executable

Tutorial Python: Mengkonversi file script menjadi executable

August 26, 2014 Programming Python 0

executable

Setelah menghabiskan waktu menulis program dan debugging, lalu tersenyum puas karena program anda berjalan tanpa cela, tibalah saatnya mendistribusikan program anda. Tahap distribusi adalah tahap dimana anda harus mempersiapkan program tersebut sefleksibel mungkin, dalam arti bisa jalan di komputer manapun yang anda targetkan. Banyak hal yang harus diperhitungkan, misalnya: Apa target OS di mana program anda hendak dijalankan? Apakah di dalam OS tersebut sudah tersedia interpreter Python? Atau apakah anda harus menyertakannya bersama distribusi program anda?

Bicara mengenai ketersediaan interpreter Python, meskipun Python sudah cukup populer sehingga beberapa OS sudah menyediakannya secara default, tetap saja dalam situasi tertentu kita diharuskan berasumsi bahwa OS-nya TIDAK menyediakan interpreter tersebut. Apa solusinya? Ada dua cara:

  1. Mengkonversi file script Python menjadi file executable.
  2. Menyertakan instalasi Python portable yang bisa digunakan oleh program anda tanpa harus diinstalasi.

Tutorial ini akan membahas cara yang pertama, yaitu bagaimana mengkonversi file script Python menjadi file executable sehingga bisa dijalankan di komputer lain yang tidak memiliki interpreter Python. Adapun solusi kedua, yang menggunakan Python portable, akan dijelaskan dalam postingan mendatang. Btw, tutorial ini berasumsi anda menggunakan Python di sistem operasi Windows.

Menyediakan cx_Freeze

Pertama-tama, kita memerlukan program ekstensi Python yang khusus menangani konversi file script ke executable, seperti py2exe dan cx_freeze. Sayangnya, py2exe (sampai saat tulisan ini dibuat) hanya mendukung Python 2.x, sedangkan saya menggunakan Python 3.4. Jadilah pilihan saya terbatas pada cx_Freeze 4.3.3 yang dapat didownload di:

http://www.lfd.uci.edu/~gohlke/pythonlibs/#cx_freeze

Btw, link di atas sebenarnya bukan website official dari cx_Freeze. Official downloadnya bisa anda dapatkan di:

https://pypi.python.org/pypi?:action=display&name=cx_Freeze&version=4.3.3#downloads

Tapi, ternyata ada bug dalam program extensi cx_Freeze di website officialnya, kemungkinan khusus untuk versi 4.3.3 saja. Bug ini sempat membuat saya kebingungan karena hanya sukses mengkonversi program berbasis console, namun gagal untuk program berbasis GUI.  Masalah bug ini sudah saya konfirmasi di beberapa Forum pengguna dan beberapa dari mereka menyarankan untuk mendownload cx_freeze dari website “unofficial” di atas. Dan setelah saya coba, ternyata benar berhasil.

Jadi silahkan download cx_Freeze sesuai dengan versi Python anda, lalu install di komputer anda. Jika instalasi berhasil, anda akan menemukan beberapa file dengan nama yang diawali “cx_freeze” di folder:

c:<path instalasi python>Scripts

Proses Konversi

Dalam tutorial ini, kita akan mencoba mengkonversi script Python dalam tutorial membuat aplikasi GUI sederhana (bagian 2) menjadi executable. Kerjakan langkah-langkah berikut:

  1. Letakkan file script yang ingin dikonversi ke dalam folder cx_freeze, dalam hal ini: c:<path instalasi python>Scripts. Adapun file script dalam contoh ini bernama: test02.py.
  2. Bukalah command window dan masuklah ke folder tersebut.
  3. Jalankan script “cxfreeze-quickstart” dengan perintah: python cxfreeze-quickstart
  4. Akan ada beberapa pertanyaan yang harus anda jawab, misalnya: nama file yang hendak dikonversi, tipe aplikasi yang hendak dikonversi (console atau GUI) dan lain-lain. Lihat screenshot berikut: Foto-layar_082614_123727_AM
  5. Setelah  selesai, script cxfreeze-quickstart akan membuat file baru di folder tersebut dengan nama “Setup.py“. File ini akan digunakan dalam proses konversi.
  6. Mulailah proses konversi dengan memasukkan perintah: python cxfreeze build. Anda akan melihat proses-nya ditampilkan di command window: Foto-layar_082614_124159_AM
  7. Setelah proses konversi selesai, pada folder cx_freeze akan ketambahan sebuah subfolder bernama “build“. Di dalamnya ada subfolder lain yang namanya tergantung versi Python yang terinstal. Di komputer saya folder ini bernama: exe.win32-3.4. Inilah folder distribusi anda.
  8. Di dalam folder tersebut  terdapat file executable hasil proses konversi yang dalam contoh ini bernama: “test02.exe“. Double click pada file untuk menjalankannya. Ini screenshotnya:

Foto-layar_082614_124930_AM

Penutup

Perlu diperhatikan bahwa anda harus menyertakan semua file dalam folder “exe.win32-3.4” tersebut di atas. Silahkan ganti nama folder ini dengan nama aplikasi yang anda inginkan, tapi jangan rubah atau kurangi file-file yang ada di dalamnya. Ukuran total semua file dalam folder distribusi pada contoh dalam tutorial ini adalah sekitar 15 MB. Cukup besar memang untuk sebuah aplikasi sederhana. Ini karena Python menyertakan semua module yang diperlukan ke dalam folder distribusi ini sehingga user dapat menjalankan aplikasi ini tanpa adanya interpreter Python. Tapi jika dibandingkan dengan harga storage per MB yang semakin hari semakin murah, 15 MB mungkin tidak seberapa.

Demikian dulu, selamat belajar.

 

————–

Title image via IconFinder.com

 

 

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *