개발/PyQt&Python

PyInstaller - 파이썬 exe파일 만드는 방법(아이콘,파일,이미지 추가하기)

알 수 없는 사용자 2022. 11. 6.
반응형

https://pyinstaller.org/en/stable/index.html

 

PyInstaller Manual — PyInstaller 5.6.2 documentation

PyInstaller bundles a Python application and all its dependencies into a single package. The user can run the packaged app without installing a Python interpreter or any modules. PyInstaller supports Python 3.7 and newer, and correctly bundles many major P

pyinstaller.org

PyInstaller는 파이썬 프로그램을 exe 실행파일로 만들어 줍니다.

파이썬으로 GUI 프로그램을 만들었으면 exe 파일로 만들어 배포를 해야 하는데, 그 역할을 해 줍니다.

 

우선 사용을 위해서는 PyInstaller를 설치해 주어야 합니다.

pip install -U pyinstaller

터미널에 위 명령어를 입력해서 설치해 주세요

 

설치가 다 되었으면 exe로 빌드를 해야겠죠. 사용방법은 매우 간단합니다

pyinstaller 파일명.py

위 명령어만 입력하면 빌드가 완료됩니다.

하지만 대부분 이름과 아이콘을 세팅하고 이미지나 파일 폴더 등을 exe파일 안에 넣어 하나로 빌드할 것입니다.

그렇다면 아래 방법을 따라오세요.

 

def resource_path(relpath):
    try:
        abspath = sys._MEIPASS
    except Exception:
        abspath = os.path.abspath(".")
    return os.path.join(abspath, relpath)

파일 최상단 import 아래에 위 코드를 추가해 주세요.

상대경로로 되어 있는 파일 내의 경로를 프로그램이 실행될때 생성되는 PyInstaller 임시폴더의 절대경로로 지정해 줍니다

 

기존 :'img/icon.ico'
변경 : resource_path('img/icon.ico')

그리고 파일 내의 모든 이미지/아이콘/파일 경로 앞에 resource_path() 를 붙여주세요

 

pyinstaller -w -F -n 프로그램명 --icon="img/icon.ico" --add-data="img/*;img" --add-data="conf.ini;./" 파이썬파일명.py

그럼 이제 소스 내의 설정이 완료되었으니 빌드를 해보겠습니다. 코드는 위 내용을 복사하신 뒤 알맞게 고쳐서 사용하세요

exe파일만 만들어지며 콘솔창은 실행되지 않고 아이콘 설정, 이미지 폴더, 파일 추가하였습니다.

 

되게 붙어있는 옵션이 많죠? 이 옵션에 대해 하나하나 설명하겠습니다.

-w : exe 파일 실행 시 파이썬 콘솔창이 보이지 않게 해 줍니다

-f : exe 단일 파일만 만들어지게 합니다

-n : 프로그램의 이름을 지정합니다. 지정하지 않으면 파이썬파일명.exe로 생성됩니다.

--icon : 프로그램의 아이콘을 지정합니다

--add-data : 이미지, 폴더, 파일을 추가해 줍니다. 소스 내에 있던 것들을 이곳에 추가해 주시면 됩니다.

사용 방법은 추가대상;위치 입니다.

예를 들어, img폴더를 추가하고 싶으면 --add-data:"폴더명/*;폴더위치" 으로 추가하시면 되고

파일을 추가할 경우에는 --add-data:"파일명;파일위치" 로 추가하시면 됩니다. ui파일을 사용하는 경우에도 동일하게 추가하시면 됩니다. --add-data:"ui파일명;파일위치"

폴더 위치는 상대경로이며 --add-data는 원하는 만큼 추가가 가능합니다.

 

원하는 대로 설정을 완료하셨다면, 터미널에서 바로 명령문을 실행해도 됩니다

 

 

이렇게요. 하지만 bat파일에 명령어를 저장한 후 bat파일을 실행하면 훨씬 편리합니다.

pyinstaller  -w -F -n 프로그램명^
  --icon="추가할아이콘"^
  --add-data="추가할폴더명/*;폴더위치"^
   --add-data="추가할파일명;파일위치/"^
  파이썬파일명.py

이걸 .bat파일에 저장한 다음 실행하면

 

 

터미널 명령어를 불편하게 고치지 않고 훨씬 편리하게 exe파일을 생성할 수 있습니다.

Building EXE from EXE-00.toc completed successfully 메시지가 출력되면 빌드가 잘 되었는지 확인해 봐야겠죠?

 

설정한 아이콘과 이름으로 잘 생성되었습니다.

반응형

댓글

💲 추천 글