본문 바로가기
IT, Software/Python

Python PyInstaller spec 파일활용 윈도우 exe 실행파일 만들기

by 기타마을이장 2020. 10. 2.

지난 네이버 블로그에서 정리하던 글들을 하나씩 옮겨오는 중이다.
여행기를 옮겨오는 것과 함께 프로그램 관련 포스팅들도 하나씩 옮기고 
이어서 추가로 포스팅해보려 한다.


당시에 참 오랜만에 Python으로 뭔가를 만들어보는 중이었다.
최근 몇년간은 거의 관리업무만 하다보니 참으로 오랜만에 실제 어플을 개발해보려니
그동안 오랜 세월동안 Python은 더 어마무시한 발전과 변화가 있었음을 깨닫게된...
소중하고 가슴아픈 시간의 정리들;;;;

 

Python Pyinstaller로 exe 파일 만들기

윈도우 어플이기 때문에 이제 exe 실행파일을 만들어야 한다.

다만, 국내 블로그를 검색하면 이전 방식의 설명만 되어 있었고,

해당 방법으로 하면 실행된 앱의 앱아이콘은 내가 원하는 이미지로 적용이 안되었다;;

 

TaskbarBar 아이콘이나 앱아이콘을 모두 원하는 이미지로 변경하고 싶어

결국 구글 검색을 해본 결과 이를 위한 툴이 제공되고 있었다.

Pyinstaller관련 공식 지원(?)사이트가 있었고,

역시 해외개발자들은 위 사이트의 Q&A를 통해 다양한 논의(?) 토론(?)을 하고 있었다.

위 사이트내에서 "Using Spec Files" 메뉴에 여러가지 설명이 있다.

영어가 짧아 다는 못읽어봤다;;;

 

 

PyInstaller Manual — PyInstaller 4.1.dev0+g99c6e8bd documentation

© Copyright This document has been placed in the public domain. Revision 99c6e8bd.

pyinstaller.readthedocs.io

간략히 정리하면

sample.spec 파일을 만들고나서 "pyinstaller --clean sample.spec " 을 실행시켜주면 실행파일이 만들어진다.

실제로 사용한 spec 파일은 아래와 같다.

a 영역에 정의하는 것은 py 코드와 해당 코드가 위치하는 절대경로이고,

exe 영역에 정의하는 것이 실행파일을 생성하기 위한 이런저런 규칙들을 정의한다.

block_cipher = None
a = Analysis(['TextDelimiterWindow.py'],
    pathex=['G:\\Codes\\Python\\workspace_pycharm\\TextDelimiter'],
    binaries=None,
    datas=None,
    hiddenimports=[],
    hookspath=None,
    runtime_hooks=None,
    excludes=None,
    cipher=block_cipher)
pyz = PYZ(a.pure, a.zipped_data,
    cipher=block_cipher)
exe = EXE(pyz,
    a.scripts,
    a.binaries,
    a.zipfiles,
    a.datas,
    name='Text Slicer v1.1.0',
    debug=False,
    strip=False,
    upx=True,
    runtime_tmpdir=None,
    console=False ,
    icon='G:\\Codes\\Python\\workspace_pycharm\\TextDelimiter\\ui\\icon.ico')

그렇게 해서 생성된 실행파일은 아래와 같다.

앱아이콘과 Taskbar 아이콘이 모두 내가 원하는 이미지로 변경됐다.

윈도우 앱아이콘과 Taskbar 에 모두 아이콘이 적용된 모습

반응형

댓글