Berikut ini beberapa yang umum. Kecuali secara eksplisit disebutkan, semua proyek yang tercantum di bawah ini secara aktif dipertahankan pada pengeditan terakhir saya (Januari 2020).
Saya juga menyertakan tautan ke situs web, repo, dan daftar PyPi masing-masing jika Anda ingin memeriksa sendiri seberapa sering mereka diperbarui.
Selain itu, kecuali dinyatakan lain, semua program yang tercantum di bawah ini akan menghasilkan exe khusus untuk sistem operasi yang dijalankan. Jadi misalnya, menjalankan Pyinstaller di Windows akan menghasilkan exe Windows, tetapi menjalankan Pyinstaller di Linux akan menghasilkan exe Linux. Jika Anda ingin membuat exe untuk beberapa sistem operasi, Anda harus menggunakan mesin virtual atau menggunakan sesuatu seperti Wine .
Program-program berikut semuanya bekerja dengan cara yang sama - mereka menggabungkan Python dan program Anda, menggabungkannya secara efektif untuk menghasilkan file yang dapat dieksekusi.
PyInstaller:
- Tautan : Situs web || Repo || PyPi
- Mendukung : Python 2.7 dan Python 3.4 - 3.7 di Windows, Mac, dan Linux.
cx_Freeze:
- Tautan: Situs web || Repo || PyPi
- Mendukung: Python 2.7 dan 3.5 - 3.8 di Windows, Mac, dan Linux.
py2app:
- Tautan: Situs web || Repo || PyPi
- Mendukung: Python 2.7 dan 3.3 (?) - 3.7 (?) Di Mac saja.
- Catatan: Pada pengeditan terakhir saya, saya tidak dapat menentukan secara pasti kisaran yang tepat dari versi Python yang didukung oleh pyapp. Rilis terbaru menyebutkan mendukung Python 3.7.
Catatan: versi sebelumnya dari posting ini termasuk artikel untuk py2exe ( repo ) dan bbfreeze ( repo ). Kedua proyek telah dihapus dari daftar ini: mereka telah melihat sedikit atau tidak ada aktivitas selama beberapa tahun dan tampaknya sama sekali tidak terawat. Lihat riwayat edit untuk artikel lama.
Tentu saja, itu bukan satu-satunya cara untuk melakukan sesuatu:
pynsist:
- Tautan: Situs web || Repo || PyPi
- Mendukung: Semua versi Python? Catatan - hanya akan membuat penginstal Windows .
Catatan lain:
Pynsist tampaknya mendukung penggabungan semua versi Python sembarang dengan aplikasi Anda. Namun, alat itu sendiri membutuhkan Python 3.5+ untuk dijalankan.
Pynsist akan membuat penginstal Windows untuk program Anda yang akan langsung menginstal Python di komputer pengguna alih-alih memaketkannya dengan kode Anda dan membuat pintasan yang tertaut ke skrip Python Anda. Meskipun program ini hanya menghasilkan penginstal Windows, tampaknya Anda masih dapat menjalankan Pynsist di komputer Mac dan Linux.
Nuitka:
- Tautan: Situs web || Repo (cermin Github) || PyPi
- Mendukung: Python 2.6 - 2.7 dan Python 3.3 - 3.7 di Windows, Mac, dan Linux.
- Catatan lain: Nuitka benar-benar akan mengkompilasi kode Python Anda dan menghasilkan exe (sebagai lawan dari proyek lain, yang hanya menyertakan Python) untuk mencoba dan mempercepat kode Anda. Sebagai efek samping, Anda juga akan mendapatkan exe praktis yang dapat didistribusikan. Perhatikan bahwa Anda perlu memiliki kompiler C ++ yang tersedia di sistem Anda.
cython:
- Tautan: Situs web || Repo || PyPi
- Mendukung: Python 2.6 - 2.7 dan Python 3.2 - 3.8 di Windows, Mac, dan Linux.
- Catatan lain: Cython mirip dengan Nuitka karena merupakan kompiler Python. Namun, alih-alih langsung mengkompilasi kode Anda, itu akan mengkompilasinya ke C. Anda kemudian dapat mengambil kode C itu dan mengubah kode Anda menjadi exe . Anda harus memiliki kompiler C yang tersedia di sistem Anda.
Preferensi pribadi saya adalah menggunakan PyInstaller karena ini yang paling mudah bagi saya untuk memulai dan menjalankannya, dirancang untuk bekerja dengan baik dengan berbagai pustaka populer seperti numpy atau pygame, dan memiliki kompatibilitas yang baik dengan berbagai OS dan versi Python.
Namun, saya juga berhasil membuat berbagai exe menggunakan cx_Freeze tanpa terlalu banyak kesulitan, jadi Anda juga harus mempertimbangkan untuk mencoba program itu.
Saya belum sempat mencoba pynist, Nuitka, atau Cython secara ekstensif, tetapi sepertinya solusi yang cukup menarik dan inovatif. Jika Anda mengalami masalah saat menggunakan kelompok program pertama, mungkin ada baiknya untuk mencoba salah satu dari ketiganya. Karena mereka bekerja secara fundamental berbeda dari program bergaya Pyinstaller / cx_freeze, mereka mungkin berhasil dalam kasus-kasus tepi ganjil di mana grup pertama gagal.
Secara khusus, saya pikir pynist adalah cara yang baik untuk menghindari seluruh masalah pendistribusian kode Anda sama sekali: Mac dan Linux sudah memiliki dukungan asli untuk Python, dan hanya menginstal Python di Windows mungkin benar-benar solusi terbersih. (Kelemahannya sekarang adalah Anda perlu khawatir tentang menargetkan beberapa versi pustaka pemasangan Python +).
Nuitka dan Cython (dalam pengalaman saya yang terbatas) tampaknya bekerja dengan cukup baik. Sekali lagi, saya sendiri belum mengujinya secara ekstensif, jadi pengamatan utama saya adalah bahwa mereka tampaknya membutuhkan waktu lebih lama untuk menghasilkan exe daripada program gaya "freeze".
Semua ini dikatakan, mengubah program Python Anda menjadi yang dapat dieksekusi bukanlah satu-satunya cara untuk mendistribusikan kode Anda. Untuk mempelajari lebih lanjut tentang opsi lain yang tersedia, lihat tautan berikut ini: