26 Eylül 2015 Cumartesi

Python3 programları .exe'ye çevirmek ve Pyinstaller kullanımı

Açıklama
Programlarımızı Pyinstaller isimli program ile çalıştırlabilir(.exe) dosyaya çevireceğiz.





Kullanım:

İlk önce programımızı pip aracılığıyla yükleyelim.

pip3 install pyinstaller

Programımızı yükledik.Daha sonra .py dosyamızı veya dosyalarımızı masaüstüne veya başka bir dizine atalım.Burda şuna dikkat edin .py dosyasını attığınız dizinin ismi Türkçe karakter içermemeli.Dosyalarımızı hazırladığımıza göre hemen bir konsol ekranı(cmd) açalım ve kodlara geçelim.

pyinstaller.exe --onefile --noconsole [.py dizinimiz]

--onefile:

   Bu bizim tek bir dosya istediğimizi belirtiyor.Gerekli tüm modüller vb. .exe'ye gömülecektir.

--noconsole:

  Bu bizim programımızın konsol çıktısı üretmeyeceğini söylüyor.Yani programımıza tıkladığımızda     çıkan konsol penceresi olmayacaktır.Eğer programınız konsol çıktısı üretiyorsa bunu kaldırın.Bu         genelde arayüz programlarında kullanılır.

 .py dizinine de programınızın kaynak dosyasını bulunduğu dizin ile beraber yazın.

Örnek olarak:

pyinstaller.exe --onefile --noconsole D:\programlarim\program.py

Çevirme işlemi biraz uzun sürebilir ve dosya boyutu büyük olabilir bunlar kaçınılmazdır.

Programa Icon Eklemek

İlk önce uzantısı .ico olan icon dosyamız olmalı..png gibi resimler desteklenmiyor..png dosyanız var ise bu dosyaı icona çevirmek için webde programlar mevcut.Benim önerim Any to icon programı.
Sıra geldi icon eklemeye.

Programımızı bu sefer şu şekilde çalıştırıyoruz.

pyinstaller.exe --onefile --noconsole [.py dizinimiz] --icon [.ico dizniniz]

Örnek olarak:

pyinstaller.exe --onefile --noconsole D:\programlarim\program.py --icon D:\programlarim\icon.ico

Gördüğünüz gibi oldukça basit bir işlem.Programımız C:\python sürümünüz\lib\site-packages\pyinstaller\dist klasöründedir.Eğer orda bulamazsanız komut satırında dönüştürürken ki bulunduğunuz dizinin altındaki dist klasöründedir.

Bu yazımızda Pyinstaller'i not ettik.
Not yazmaya devam edeceğim takipte kalın!

16 yorum:

  1. Gercekten cok isime yaradi tesekurler. :)

    YanıtlaSil
  2. teşekkürler.. batch dosyası yazmaktan iyidir..

    YanıtlaSil
  3. hocam bende şöyle bir hata verdi:
    pyinstaller-script.py: error: the following arguments are required: scriptname

    YanıtlaSil
    Yanıtlar
    1. Muhtemelen programınızın ismini yanlış girdiniz.Komut satırına yazarken dosya ismine .py uzantısını eklememiş de olabilirsiniz.

      Sil
    2. bende problem çıkıyo nolur yardım edin

      Sil
    3. Kütüphane Yada Herhangi Bir Dosya Yolunuz eksik exe eile tüm dosyaları aynı yerde toplayın

      Sil
  4. nolur yardım edin hocam program yaptım arkadaşlarıma atcam ama onlarda python yok bu yüzden exeye çevirmem lazım please

    YanıtlaSil
  5. Fatih bey teşekkürler çok güzel bir şekilde anlatmışsınız.
    ellerinize sağlık. Sanırım bir yerde hata yaptım yardımcı olabilirseniz çok sevinirim sizin dediğiniz aynı işlemleri yaptım.
    birde programı exe haline getirirken hangi dizinde bulunmalıyız?
    şu hatayı alıyorum:
    IndexError: tuple index out of range

    YanıtlaSil
  6. merhaba exe ye dönüştürmede başarılı oldum öncelikle o yüzden teşekkür ederim. Sorum şu ben hesap makinesi yapmıştım, program çalışıyor ama program arayüzünü vs. nasıl daha gösterişli hale getirebiliriz. icon kısmı kabaca sadece programı açarken tıkladığımız resim oluyor değil mi?

    YanıtlaSil
    Yanıtlar
    1. ben hala anlamadım nasıl hallettin bana da anlatsana?

      Sil
  7. herhalde pyinstaller.exe linux için geçerli değil.

    YanıtlaSil
  8. C:\Users\Eyüphan>pyinstaller.exe --onefile --noconsole C:\Users\Eyüphan\Desktop\HesapMakinesiYnei.py
    File "C:\Users\Eyüphan\AppData\Local\Programs\Python\Python37-32\Scripts\pyinstaller-script.py", line 1
    SyntaxError: Non-UTF-8 code starting with '\xfc' in file C:\Users\Eyüphan\AppData\Local\Programs\Python\Python37-32\Scripts\pyinstaller-script.py on line 1, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details

    YanıtlaSil
    Yanıtlar
    1. merhaba Therkral öncelikle exe ile gitmen biraz sıkıntı olacaktır
      kod olarak şu şekilde yazarsan daha kolay ve kütüpanelerin tam ise çalışacağını umuyorum
      ilk olarak derlemek istediğin alana gitmeslisin senin için
      "cd C:\Users\Eyüphan\Desktop\" olacaktır (delenecek dosyanın olduğu alanı varsayıyorum)

      sonrası basi zaten
      "pyinstaller --onfile --noconsole HesapMakinesiYnei.py " yazaman yeterli olacaktır

      Sil
  9. türkçe karakterleri; dosya dizininde, dosya adında, vb. kullanmayın. Birde "_" (alt çizgi) kullanmamaya dikkat edin!

    YanıtlaSil
  10. verdiğiniz uygulama açılmıyor!

    YanıtlaSil
  11. dosya_adi.exe.manifest
    adlı uzantı oluştu nasıl düzeltirim?

    YanıtlaSil