Windows işletim sistemi üzerinde Pyinstaller kurmak için yapılması gerekenler Pyinstaller ana sayfasında “Documentation” başlığı altındaki bağlantıda belirtilmiştir.
http://www.pyinstaller.org/
Sayfa içeriğinde Python kurulu olması gerektiği, PyWin32 aracının gereksinimlerden biri olduğu belirtilmiştir. Sonrasında da gerekli kurulumların ve yapılandırmaların nasıl olacağı ayrıntılı bir şekilde anlatılmıştır.
http://pythonhosted.org/PyInstaller/
Bu yazıda da, belirtilen adımlar uygulanarak, basit bir Python kodu exe haline getirilecektir.
Python Kurulumu
Python ile yazılım geliştirebilmek için öncelikle Python kütüphanesi, modülleri, araçları indirilmelidir. İndirme işlemi Python indirme (Downloads) sayfasından gerçekleştirilebilir.
https://www.python.org/downloads/
Yazıda 2.7.11 sürümü tercih edilmiş ve kurulum başlatılmıştır.
Kurulum dizini belirtilir.
Tüm özelliklerin kurulması tercih edilebilir.
Kurulum işlemi gerçekleşir.
Bir takım modüller, araçlar da böylece yüklenmiş olur.
Kurulum tamamlanmış olur.
Not: Eğer kurulum sırasında çevresel değişkenlere, kurulum dizini eklenmemişse, el ile eklenmesi gerekir. Aksi halde sonraki adımlarda hata alınacaktır.
Kurulum başarılı bir şekilde tamamlanmış ise “python” komutu ile temel işlemler yapılabilir.
python -V
python
print “Selam”
quit()python Desktop/Betik.py
Görüldüğü gibi 32 bitlik 2.7.11 sürümündeki python kurulmuştur.
PyWin32 Kurulumu
Windows API fonksiyonlarına erişebilmek için bir takım modüller gereklidir. Bu amaçla PyWin32 kurulacaktır.
https://sourceforge.net/projects/pywin32/files/
Kurulum için sürüm seçilir.
Önceki başlıkta indirilen Python sürümüne göre uygun dosya kurulmalıdır. Örneğin; bu yazıda kurulumun yapıldığu bilgisayar 64 bit olmasına ve Ptyhon için son sürüm 3.5.1 olmasına rağmen; 32 bit için 2.7.11 sürümündeki Python kurulmuştur. Bu sebeple uygun PyWin32 seçimi yapılmalıdır.
İndirilen dosya kurulur.
Python kurulum dizini belirtilir.
Kurulum gerçekleşir.
Kurulum başarılı bir şekilde tamamlanır.
Pyinstaller Kurulumu
Son adım olarak Pyinstaller kurulumu gerçekleştirilebilir. Kurulum için “pip” aracı kullanılabilir.
pip install Pyinstall
Kurulum başarılı bir şekilde tamamlandığında 3.1.1 sürümü gibi bir sürüm görülebilir.
pyinstaller –version
Basit Bir Uygulamanın Hazırlanması – 1
Ekrana “Merhaba 123” yazan bir Python dosyası (Desktop/Betik.py), PyInstaller aracı ile aşağıdaki gibi exe haline getirilebilir.
pyinstaller –onedir –onefile .\Desktop\Betik.py
Komut çalıştırıldığında komutu çalıştıran kullanıcının ev dizinindeki dist klasöründe, kullanılan betik dosyası ile aynı isimde exe uzantılı bir dosya oluşmuş olur. Bu çalıştırılabilir dosya, Python kurulu olmayan herhangi bir bilgisayarın komut satırında çalıştırılabilir.
Basit Bir Uygulamanın Hazırlanması – 2
Pyinstaller değişik parametreler ile kullanılarak özelleştirilebilir. Örneğin, “–icon” seçeneği ile çalıştırılabilir dosyanın ikonu değiştirilebilir, “–version-file” seçeneği ile çalıştırılabilir dosyanın detay bilgileri yapılandırılabilir, “–name” seçeneği ile çalıştırılabilir dosyanın adı belirtilebilir.
pyinstaller –onedir –onefile .\Desktop\BilgileriYazdirma.py –icon=Desktop\Resim.ico –version-file=.\Desktop\Surum.txt –name=”ilkUygulama”
Betik içeriği ve seçenekler arttıkça Pyinstaller çıktısı da uzayabilmektedir.
Betik içeriği ve oluşan dosya çıktısı aşağıdaki gibidir.
import getpass
kullaniciAdi = getpass.getuser()
print “Kullanici Adi:”, kullaniciAdiimport socket
bilgisayarAdi = socket.gethostname()
print “Bilgisayar Adi:”, bilgisayarAdi
bilgisayarIpAdresi = socket.gethostbyname(socket.gethostname())
print “Bilgisayar IP Adresi:”, bilgisayarIpAdresi
“–version-file” seçeneğine verilen dosyanın (Desktop/Surum.py) içeriği aşağıdaki gibidir.
1234567891011121314151617181920212223242526272829303132333435363738 VSVersionInfo(ffi=FixedFileInfo(filevers=(10, 20, 30, 40),prodvers=(50, 60, 70, 80),# Contains a bitmask that specifies the valid bits 'flags'mask=0x3f,# Contains a bitmask that specifies the Boolean attributes of the file.flags=0x0,# The operating system for which this file was designed.# 0x4 - NT and there is no need to change it.OS=0x4,# The general type of file.# 0x1 - the file is an application.fileType=0x1,# The function of the file.# 0x0 - the function is not defined for this fileTypesubtype=0x0,# Creation date and time stamp.date=(0, 0)),kids=[StringFileInfo([StringTable(u'040904b0',[StringStruct(u'CompanyName', u'Siber Portal Sirketi'),StringStruct(u'ProductName', u'Siber Urun'),StringStruct(u'ProductVersion', u'1, 2, 3, 4'),StringStruct(u'InternalName', u'Portal'),StringStruct(u'OriginalFilename', u'siberPortal.exe'),StringStruct(u'FileVersion', u'96, 12, 19, 1'),StringStruct(u'FileDescription', u'Uygulama amacli hazirlanmistir'),StringStruct(u'LegalCopyright', u'Copyright 2016 Siber Portal'),StringStruct(u'LegalTrademarks', u'Her hakki aciktir'),])]),VarFileInfo([VarStruct(u'Translation', [1033, 1200])])])
Kaynak:
https://mborgerson.com/creating-an-executable-from-a-python-script
Abi Ben Herşeyi Yaptım ama en son aşamada –” ‘pip’ iç ya da dış komut, çalıştırılabilir
program ya da toplu iş dosyası olarak tanınmıyor.”– Çıktısı Aldım .
Ne Yapmam Gerekiyor ?