Links
Comment on page
🖤

Executable Dosya Oluşturma

Python ile windows için exe dosyası oluşturma

👀 Hızlı Notlar

  • 👨‍💻 Exe dosyaları windows üzerinde direkt olarak çalışabilen dosyalardır
  • 💁‍♂️ Python dosyaları da exe formatına dönüştürüldüğünde, çalıştırılması için python gerektirmez
  • 🌟 Örnek proje üzerinde denemek için ⌨️ YClicker projemi indirebilirsin
🐌 Python yavaş bir dil dolduğu için exe dosyaları ilk çalıştırılmada oldukça yavaş açılmaktadır

👷‍♂️ Exe Haline Çevirme

  • 📦 pip install -r requirements.txt ile gereksinimleri indirin
  • pip install auto-py-exe komutu ile paketi indirin
  • 🌍 Terminal üzerinden auto-py-exe komutu ile arayüzü çalıştırın
  • ⭐ One file ile tek dosya içerisinde sıkıştırılmış bir exe oluşturulur
  • 🖤 Window based ile konsolu açmadan pencere yapısında çalıştırır
  • 🖼️ Icon yolu olarak exe dosyasında olmasını istediğiniz ico uzantılı dosya yolunu verin
  • 📂 Additional Files kısmından kodumuzda kullanılan ek dizinleri ekleyin
  • ⚙️ Advanced alanında uygulamanızın ismini belirleyebilirsiniz
👨‍🔧 Sorun oluşması durumunda python 3.7 veya alt sürümlerini indirip, deneyiniz

📂 PyInstaller Dizinini Kullanma

  • 🗃️ Additional Files kısmından kodumuzda kullanılan ek dizinlerin kullanılması için ek işlem gerekir
  • 💠 resource_path fonksiyonu ile relative olan dizinlerinizi kapsülleyin
  • 💫 Yani 'images/icon.png' kullanımı yerine resource_path('images/icon.png') kullanımına çevirin
def resource_path(relative_path):
""" Get absolute path to resource, works for dev and for PyInstaller """
try:
# PyInstaller creates a temp folder and stores path in _MEIPASS
base_path = sys._MEIPASS
except Exception:
base_path = os.path.abspath(".")
return os.path.join(base_path, relative_path)
# Örnek kullanım
self.window.iconphoto(True, PhotoImage(file = resource_path('images/icon.png')))
‍🧙‍♂ Detaylı bilgi için 👪 Bundling data files with PyInstaller (--onefile) alanına bakabilirsin.

🐞 Failed to execute main script pyinstaller

  • 🧐 Bu hata exe dosyasını tüm paketleri indirmediğiniz durumda
  • 🐞 Veya direkt olarak kodunuzun derlenmesinde hata olması durumunda gelir
  • 💁‍♂️ Exe çevirisinden önce tüm gereksinimleri, sanal ortam üzerinden çevirme işlemi yapıyorsanız bile oraya da yükleyin
  • ✔️ Paketleri kurduktan sonra tekrar exe çevirmesini yapın, sorun ortadan kalkacaktır
  • 📂 Eğer çeviri sırasında harici dosyalarınız da varsa 📂 PyInstaller Dizinini Kullanma alanındaki kodu kullanmanız gerekmektedir

🔗 Faydalı Bağlantılar

2023 © Yunus Emre AK