Skip to content

Instantly share code, notes, and snippets.

@utdemir
Created February 12, 2014 16:00
Show Gist options
  • Save utdemir/8958300 to your computer and use it in GitHub Desktop.
Save utdemir/8958300 to your computer and use it in GitHub Desktop.
Title: Pyinstaller Kullanımı (Windows)
Date: 2010-07-01 12:49
Category: Gezegen, Özgür Yazılım - Linux, Program Anlatımları, Programlama, Python
Tags: py2exe, pyinstaller, pyqt, python, windows
Bir önceki yazıda py2exe kullanımını anlatmıştım. Ancak o yazıya gelen
bir yorum sonrası, Pyinstaller'i keşfettim ve gerçekten de Py2Exe'den
daha başarılı bir program. En başta, oluşturulan dosyanın boyutu daha
küçük. Üstelik kullanımı daha kolay ve bir ekstra ayar yapmadan PyQt'yi
destekliyor.
**Kurulum**(Windows üzerine):
Öncelikle sitesinden
snapshot'ını indirip bir klasöre çıkarıyoruz. Stabil sürümü
kullanmamamızın nedeni stabil sürümlerin henüz Windows'ta Python 2.6'yı
desteklemiyor oluşu. [http://www.pyinstaller.org/\#Downloads][]
Ve ardından Pyinstaller'ın istediği PyWin32'yi indirip kuruyoruz.
[http://sourceforge.net/projects/pywin32/][]
Sonra da komut istemi ile
pyinstaller'ı açtığımız klasöre gidip "python Configure.py" komutunu
veriyoruz. Bu komut sisteminizden bilgileri topluyor ve bunları
Pyinstaller'ın dizinine kaydediyor.
Pyinstaller kurulumu bitti, şimdi de
**Kullanım**: Komut istemi ile Pyinstaller'ı açtığımız klasöre gidip:
[bash]python Makespec.py --onefile --noconsole
C:/nerede/bu/dosya.py[/bash] şeklinde komutumuzu veriyoruz kendi Python
betiğimizin konumunu vererek. "--onefile" parametresi tek
çalıştırılabilir dosya istediğimizi, "--noconsole" parametresi ile ise
bir konsol penceresi açılmasını istemediğimizi belirtiyoruz. Eğer
programınız konsol çıktısı üretiyorsa, "--noconsole" parametresini
kullanmayın. Eğer kendi simgemizi kullanacaksak ayrıca --ico
parametresiyle simgemizin yolunu belirtmeliyiz. Bu komut pyinstaller'in
anlayabileceği bir .spec dosyası oluşturuyor ve çıktısında bu spec
dosyasının yerini söylüyor. Bu konumu sonraki komutumuzda kullanıyoruz:
[bash]python Build.py spec/dosyası.spec[/bash] şeklinde komutumuzu
vererek pyinstaller'a derleme işlemini yaptırıyoruz. Bu işlemin
py2exe'den çok daha kısa sürdüğünü de belirtelim. Artık programımız
derlendi. Son komutun çıktısında programımızın çalıştırılabilir
dosyasının yeri belirtilmiş, ki "programadi/dist/programadi.exe"
şeklindedir pyinstaller klasörüne göre. Bu exe'yi hiç bir ek program
gerekmeden dağıtabiliriz. Üstelik py2exe gibi "Visual C++
Redistributable" kurulu olmasını da gerektirmiyor. Hazır :). Örnek:
[bash]Microsoft Windows XP [Version 5.1.2600] (C) Copyright 1985-2001
Microsoft Corp. C:\\Documents and Settings\\Utku Demir>cd
Desktop/trunk C:\\Documents and Settings\\Utku
Demir\\Desktop\\trunk\>python Makespec.py --onefile --noconsole
../big-evo/sbc.py wrote C:\\Documents and Settings\\Utku
Demir\\Desktop\\trunk\\sbc\\sbc.spec now run Build.py to build the
executable C:\\Documents and Settings\\Utku
Demir\\Desktop\\trunk\>python Build.py sbc/sbc.spec I: Dependent
assemblies of C:\\Python26\\python.exe: I:
x86\_Microsoft.VC90.CRT\_1fc8b3b9a1e18e3b\_9.0.21022.8\_x-ww checking
Analysis checking PYZ checking PKG checking EXE rebuilding outEXE2.toc
because sbc.exe missing building EXE from outEXE2.toc Appending archive
to EXE sbc\\dist\\sbc.exe C:\\Documents and Settings\\Utku
Demir\\Desktop\\trunk\>sbc/dist/sbc.exe[/bash]
[http://www.pyinstaller.org/\#Downloads]: http://www.pyinstaller.org/#Downloads
[http://sourceforge.net/projects/pywin32/]: http://sourceforge.net/projects/pywin32/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment