İşte bazı yaygın olanlar. Açıkça belirtilmedikçe, aşağıda listelenen tüm projeler son düzenlememden (Ocak 2020) itibaren aktif olarak sürdürülmektedir.
Ayrıca, ne sıklıkta güncellendiğini kendiniz kontrol etmek istemeniz durumunda, ilgili web sitelerine, depolarına ve PyPi listelerine bağlantılar da ekledim.
Ayrıca, aksi belirtilmedikçe, aşağıda listelenen tüm programlar, özellikle içinde çalıştığı işletim sistemi için bir exe üretecektir. Dolayısıyla, örneğin, Windows'ta Pyinstaller'ı çalıştırmak bir Windows exe üretecek, ancak Linux'ta Pyinstaller çalıştırmak bir Linux exe üretecektir. Birden çok işletim sistemi için bir exe üretmek istiyorsanız, sanal makineleri kullanmayı veya Wine gibi bir şeyi kullanmayı düşünmeniz gerekir .
Aşağıdaki programların tümü benzer şekilde çalışır - Python ve programınızı bir araya toplarlar ve bunları bir yürütülebilir dosya oluşturmak için etkili bir şekilde birleştirirler.
PyInstaller:
- Bağlantılar : Web Sitesi || Repo || PyPi
- Destekler : Windows, Mac ve Linux'ta Python 2.7 ve Python 3.4 - 3.7.
cx_Freeze:
- Bağlantılar: Web Sitesi || Repo || PyPi
- Destekler: Windows, Mac ve Linux'ta Python 2.7 ve 3.5 - 3.8.
py2app:
- Bağlantılar: Web Sitesi || Repo || PyPi
- Destekler: Yalnızca Mac'te Python 2.7 ve 3.3 (?) - 3.7 (?).
- Not: Son düzenlememden itibaren pyapp tarafından desteklenen Python sürümlerinin tam aralığını kesin olarak belirleyemedim. En son sürüm, Python 3.7'yi desteklediğinden bahsediyor.
Not: Bu yazının önceki sürümleri py2exe ( repo ) ve bbfreeze ( repo ) için yazılan yazıları içeriyordu . Her iki proje de bu listeden çıkarıldı: Birkaç yıldır çok az veya hiç aktivite görmediler ve tamamen bakılmamış gibi görünüyorlar. Eski yazılar için düzenleme geçmişine bakın.
Elbette, işleri yapmanın tek yolu bu değil:
pynsist:
- Bağlantılar: Web Sitesi || Repo || PyPi
- Destekler: Tüm Python sürümleri? Not - yalnızca Windows yükleyicileri oluşturacaktır .
Diğer notlar:
Pynsist, herhangi bir rastgele Python sürümünü uygulamanızla birlikte paketlemeyi destekliyor gibi görünüyor. Ancak, aracın çalışması için Python 3.5+ gerekir.
Pynsist, programınız için Python'u kodunuzla paketlemek yerine doğrudan kullanıcının bilgisayarına yükleyecek ve Python betiğinize bağlanan kısayollar oluşturacak bir Windows yükleyici oluşturacaktır. Bu program yalnızca Windows yükleyicileri oluştursa da , Pynsist'i Mac ve Linux bilgisayarlarda hala çalıştırabileceğiniz görülüyor .
Nuitka:
- Bağlantılar: Web Sitesi || Repo (Github aynası) || PyPi
- Destekler: Windows, Mac ve Linux'ta Python 2.6 - 2.7 ve Python 3.3 - 3.7.
- Diğer notlar: Nuitka, kodunuzu denemek ve hızlandırmak için kelimenin tam anlamıyla Python kodunuzu derleyecek ve bir exe (sadece Python içeren diğer projelerin aksine) üretecektir. Bir yan etki olarak, dağıtabileceğiniz kullanışlı bir exe de alacaksınız. Sisteminizde bir C ++ derleyicisine sahip olmanız gerektiğini unutmayın .
cython:
- Bağlantılar: Web Sitesi || Repo || PyPi
- Destekler: Windows, Mac ve Linux'ta Python 2.6 - 2.7 ve Python 3.2 - 3.8.
- Diğer notlar: Cython, bir Python derleyicisi olması açısından Nuitka'ya benzer. Ancak, kodunuzu doğrudan derlemek yerine C'ye derler. Daha sonra bu C kodunu alıp kodunuzu bir exe'ye dönüştürebilirsiniz . Sisteminizde bir C derleyicisine ihtiyacınız olacak.
Kişisel tercihim PyInstaller'ı kullanmaktır, çünkü benim için en kolay kurulum ve çalıştırma buydu, numpy veya pygame gibi çeşitli popüler kütüphanelerle güzel bir şekilde çalışmak üzere tasarlandı ve çeşitli işletim sistemleri ve Python sürümleriyle mükemmel bir uyumluluğa sahip.
Bununla birlikte, cx_Freeze kullanarak çok fazla zorluk çekmeden başarılı bir şekilde çeşitli exes oluşturdum, bu yüzden bu programı denemeyi de düşünmelisiniz.
Henüz pynist, Nuitka veya Cython'u kapsamlı bir şekilde deneme şansım olmadı, ancak oldukça ilginç ve yenilikçi çözümler gibi görünüyorlar. İlk program grubunu kullanırken sorun yaşarsanız, bu üç programdan birini denemeniz faydalı olabilir. Temelde Pyinstaller / cx_freeze tarzı programlardan farklı çalıştıkları için, ilk grubun başarısız olduğu garip uç durumlarda başarılı olabilirler.
Özellikle, pynist'in kodunuzu tamamen dağıtmanın tüm sorununu atlatmanın iyi bir yolu olduğunu düşünüyorum: Mac'ler ve Linux zaten Python için yerel desteğe sahiptir ve Windows'a yalnızca Python'u yüklemek gerçekten en temiz çözüm olabilir. (Bunun dezavantajı, artık Python + yükleme kitaplıklarının birden çok sürümünü hedefleme konusunda endişelenmeniz gerektiğidir).
Nuitka ve Cython (benim sınırlı tecrübeme göre) oldukça iyi çalışıyor gibi görünüyor. Yine, onları kapsamlı bir şekilde kendim test etmedim ve bu yüzden ana gözlemim, bir exe üretmenin "dondurma" tarzı programlardan çok daha uzun sürdüğü.
Bütün bunlar söyleniyor, Python programınızı bir yürütülebilir dosyaya dönüştürmek, kodunuzu dağıtmanın tek yolu olmayabilir. Diğer hangi seçeneklerin mevcut olduğu hakkında daha fazla bilgi edinmek için aşağıdaki bağlantılara bakın: