.spec dosyasını kullanarak .py dosyasını .exe ye çevir (.py to .exe)

.py dosyasının derlenmesi sırasında .spec dosyası oluşmaktadır.
Bu dosyayı kullanarak .exe dosyasına “açıklama” alanı ekleyebiliriz.

Normal derleme komutu;
pyinstaller --onefile --windowed --icon=appico.ico Program.py

Açıklama alanı ekleyerek;
pyinstaller --onefile --windowed --icon=appico.ico --version-file=version.txt Program.py

Program.spec dosyasını kullanarak;
pyinstaller Program.spec

Not: Program.spec dosyasının içerisinde

exe = EXE(pyz,
… bu bölümün en altında version=‘version.txt’, ni yazılı olmalı. Yoksa siz yazın.
…,
version=‘version.txt’,
icon=‘appico.ico’)

version.txt dosyasının içeriği;

# UTF-8
# Sabit dosya bilgisi 'ffi' hakkında daha fazla ayrıntı için:
# https://mborgerson.com/creating-an-executable-from-a-python-script/
VSVersionInfo(
  ffi=FixedFileInfo(
# filevers ve prodvers her zaman dört öğeli bir demet olmalıdır: (1, 2, 3, 4)
# Gerekli olmayan öğeleri sıfır 0'a ayarlayın.
    filevers=(6, 1, 7601, 17514),
    prodvers=(6, 1, 7601, 17514),
# Geçerli bitleri 'flags'r belirten bir bit maskesi içerir
    mask=0x3f,
# Dosyanın Boolean özniteliklerini belirten bir bit maskesi içerir.
    flags=0x0,
# Bu dosyanın tasarlandığı işletim sistemi.
# 0x4 - NT ve değiştirmeye gerek yok.
    OS=0x40004,
# Dosyanın genel türü.
# 0x1 - dosya bir uygulamadır.
    fileType=0x1,
# Dosyanın işlevi.
# 0x0 - fonksiyon bu fileType için tanımlı değil
    subtype=0x0,
# Oluşturma tarihi ve zaman damgası.
    date=(0, 0)
    ),
  kids=[
    StringFileInfo(
      [
      StringTable(
        u'040904B0',
        [StringStruct(u'CompanyName', u'Proje Uygulamaları'),
        StringStruct(u'FileDescription', u'İnternet Sayfaları'),
        StringStruct(u'FileVersion', u'1.0.0.1502'),
        StringStruct(u'InternalName', u'cmd'),
        StringStruct(u'LegalCopyright', u'Copyright (c) Murat ÇELİK'),
        StringStruct(u'OriginalFilename', u'Program.exe'),
        StringStruct(u'ProductName', u'Proje Programı'),
        StringStruct(u'ProductVersion', u'1.0.0.1502')])
      ]), 
    VarFileInfo([VarStruct(u'Translation', [1033, 1200])])
  ]
)
2 Beğeni