IT

★Pyinstaller: 파이썬 파일(.py)로부터 실행 파일(.exe) 생성

유병혁 2021. 5. 27. 01:14

안녕하세요? 이번 글은 pyinstaller를 이용하여 파이썬 파일(.py)로부터 실행 파일(.exe)을 생성하는 과정을 정리해 보겠습니다. pyinstaller는 Python 애플리케이션과 모든 종속 항목을 단일 패키지로 묶는 역할을 수행합니다. 사용자는 Python 인터프리터 또는 모듈을 설치하지 않고도 패키징된 앱을 실행할 수 있습니다.

 

PyInstaller Quickstart — PyInstaller bundles Python applications

PyInstaller freezes (packages) Python applications into stand-alone executables, under Windows, GNU/Linux, Mac OS X, FreeBSD, Solaris and AIX. PyInstaller’s main advantages over similar tools are that PyInstaller works with Python 3.5—3.9, it builds sm

www.pyinstaller.org

일단, 실습을 위한 파이썬 파일(.py)을 하나 만들어 보겠습니다. 아래와 같이 Google 뉴스에서 'national park' 검색결과 창이 뜨도록 코드를 작성해 봅니다. *참고로 제 개발환경은 Jupyter Notebook입니다.

import webbrowser
url= "https://www.google.co.kr/search?q=national+park&source=lnms&tbm=nws"
webbrowser.open(url) # Google 뉴스에서 'national park' 검색결과

Jupyter Notebook에서 상단 메뉴 중 'File > Download as > Python (.py)'를 클릭해서 파이썬 파일을 하나 만들겠습니다. 파일 이름은 'Stark.py'라고 명명해 봅니다.

이제 Stark.py로부터 Stark.exe로 생성해 볼까요?! 

자, pyinstaller를 설치합니다.

!pip install pyinstaller

현재 작업 디렉터리를 확인한 후,

import os
# 현재 작업 디렉터리 확인
os.getcwd()

Stark.py가 위치한 디렉터리로 변경해 줍니다.

os.chdir('D:\\GEODATA') # 디렉터리 변경

 

pyinstaller를 통해 Stark.py로부터 단일 패키지를 생성해 줍니다. 저는 콘솔 창 없이 단일 파일이 생성되도록 설정하였습니다.

!pyinstaller --noconsole --onefile Stark.py

Stark.py로부터 아래와 같은 디렉터리, 파일이 생성되었습니다. 'dist' 디렉터리를 열어보면, 

다음과 같이 번들 앱(bundled app), 'Stark.exe'이 생성되었습니다. 아이콘을 한번 클릭해 볼까요?!

아래와 같이 Google 뉴스에서 'national park' 검색 결과가 새 창 열기되었습니다.

이번에는 아이콘도 단일 패키지에 포함시켜 보겠습니다. 저는 아래 아이콘을 선택해 봅니다.

 

Iron, man Free Icon

Iron, man Icon in Cinema Icons ✓ Find the perfect icon for Your Project and download them in SVG, PNG, ICO or ICNS, its Free!

icon-icons.com

확장자는 .ico를, 픽셀은 256px를 선택 후 'Download ICO'를 클릭합니다.

Iron_Man_icon-icons.com_54170.ico
0.06MB

아래와 같이 .ico 파일을 설정해 주시면 됩니다. 간단하죠?!

!pyinstaller --noconsole --onefile --icon=Iron_Man_icon-icons.com_54170.ico Stark.py

자, 아래와 같이 실행파일 아이콘도 변경되었습니다. 참고로, 윈도우에서 아이콘 이미지를 로딩할 때 캐시를 사용하므로, dist 디렉터리에서 다른 위치로 이동시켜야 변경 결과를 확인하실 수 있습니다. 여기까지 pyinstaller를 이용해서 파이썬 파일(.py)로부터 실행 파일(.exe)을 생성하는 과정을 정리해 봤습니다.

pyinstaller 도움말은 -h 옵션을 이용하시면 됩니다.

!pyinstaller -h