Python scriptlerinizi windows exe haline çevirmek için pyinstaller kullanabilirsiniz. İlk olarak Python için bu modülü kurmanız gerekmektedir.
pip install pyinstaller
Kurulumdan sonra py script dosyanızın bulunduğu dizine windows command da girin ve aşağıdaki gibi komutunuzu çalıştırın.
pyinstaller dosya.py
Windows yazılımınızı tek dosya olarak oluşturmak isterseniz.
pyinstaller dosya.py --onefile
Bu komut tek bir exe dosyası oluşturacaktır. Yazılımınızın içinde bir windows görseli tanımladıysanız aşağıdaki komutu kullanmanız gerekir.
pyinstaller --onefile --windowed dosya.py
veya
pyinstaller --windowed dosya.py
Oluşturduğunuz dosyaya birde icon görüntüsü eklemek isterseniz
pyinstaller -c -F -i "filepath.ico" dosya.py
Oluşturduğunuz exe dosyalarına dosyanızla aynı dizinde oluşan dist klasöründen ulaşabilirsiniz. Oluşturulan exe dosyasını çalıştırdığınızda hata alıyorsanız bilgisayarınıza Visual C++ Redistributable kurulu olduğundan emin olun.
Çalıştırdığınız exe dosyası aşağıdaki gibi bir hata veriyorsa
File "site-packages\pkg_resources\__init__.py", line 86, in <module>
ModuleNotFoundError: No module named 'pkg_resources.py2_warn'
Failed to execute script pyi_rth_pkgres
Yapmanız gereken komuta bir parametre eklemek olmalı.
pyinstaller dosya.py --onefile --hidden-import=pkg_resources.py2_warn
Bu hatayı alıyorsanız Pyinstaller yazılımınızı kaldırıp yeni versiyonunu da kurabilirsiniz.
pip uninstall pyinstaller
pip install pyinstaller
Pyinstoller ve Multiprocessing
Yazdığınız kod içerisinde multiprocessing modülünü kullanıyorsanız yaptığınız exe dosyasının windows işletim sisteminde sorunsuz çalışması için fonksiyonun altında aşağıdaki kodu kullanmalısınız. Bu kodu yazmazsanız windows içinde yazılımız için sürekli yeni prosesler açılacak ve yazılım çalışmayacaktır.
if __name__ == '__main__':
# On Windows calling this function is necessary.
# On Linux/OSX it does nothing.
multiprocessing.freeze_support()