python programlarını exe haline getirme

Bu yazımda size python ile yaptığınız herhangi bir programı exe haline yani windows için tek paket haline getirmeyi anlatacağım. 

python ile yazdığımız programları python olmayan bilgisayarlarda çalıştırmak yada tek tıkla programı çalıştırmak istediğimiz zamanlar olmuştur. işte bu isteğe cevaben bu yazımız size yardımcı olacaktır.

pythonda windows çalıştırılabilir dosyası oluşturma için birden fazla paket bize yardımcı olabiliyor. benim bu yazımda size anlatacağım paketin adı pyinstaller.

tabi öncelikle pyinstaller nedir birkez daha açıklayayım.

pyinstaller dediğmiz paket  .py uzantılı python kodlarını içeren dosyalarımızdan bize .exe uzantılı dosyalar verebilen bir programdır diyebiliriz.

pyinstaller kurulumu için pip paket yöneticisinden faydalanacağız.

windows komut satırını açtıktan sonra ( bunun için başlat menüsü üzerinde sağ tık – daha sonra windows power shell yada komut istemcisini başlatın)

pip install pyinstaller

komutunu yazıp onaylayalım

kurulum bittiğinde

aşağıdaki gibi bir ekranın bizi karşılaması gerekiyor.

exe haline getireceğim dosyanın adı gui1.py

dosya ise gui klasörü içinde.

yapacağımız işlem yine yukarıda olduğu gibi gui klasörü içinde komut istemini açmak. bunu  için shift tuşu basılı iken sağ tıklayın ve açılan seçeneklerden power shelli seçin.

ekran görüntüsü

şimdi burada sonra

pyinstaller.exe gui1.py 

komutunu yazıp çalıştırırsanız bulunduğumuz klasöre aşağıdaki gibi görüntü gelecektir.

bu yukarıdaki resimdede görüldüğü üzere build/gui1 içinde exe dosyası mevcuttur. ama burada gördüğünüz üzere tek parça olarak vermedi bize çıktıyı. yanında fazladan bir sürü dosya verdi.

aşağıdaki parametreleri kullanarak daha farklı seçenekleri aktif edebilirsiniz.

eğer exe dosyasının tek bir paket olması istenirse 

–onefile

console ekranının çıkmaması istenirse

–noconsole

icon belirtlilmek istenirse

–icon ikonadı.ico

komutları kullanılır.

sonuç olarak

pyintaller.exe –onefile –noconsole –ico bayrak.ico hesap.py

komutu ile hepsi birlikte gerçekleştirilebilir.

Facebooktwitterlinkedin