본문 바로가기

파이썬 프로그램을 exe 파일로 만드는 방법

@도마22026. 2. 4. 23:00
728x90


이번 강의에서는
파이썬으로 만든 프로그램을 exe 실행 파일로 만드는 방법을 다룹니다.

이 과정을 거치면
파이썬이 설치되지 않은 PC에서도
프로그램을 실행할 수 있습니다.

게임, 툴, 자동화 프로그램을 배포할 때
반드시 필요한 단계입니다.


왜 exe 파일로 만들어야 하는가

파이썬 파일(.py)은
다음과 같은 제약이 있습니다.

  • 파이썬이 설치되어 있어야 합니다
  • 실행 방법을 모르는 사용자는 사용하기 어렵습니다
  • 배포용으로 적합하지 않습니다

exe 파일로 만들면

  • 더블 클릭으로 실행할 수 있고
  • 파이썬 설치가 필요 없으며
  • 일반 프로그램처럼 배포할 수 있습니다

사용할 도구: PyInstaller

이번 강의에서는
가장 많이 사용되는 PyInstaller를 사용합니다.

PyInstaller는
파이썬 코드와 필요한 라이브러리를 하나로 묶어
exe 파일을 생성해줍니다.


PyInstaller 설치

먼저 PyInstaller를 설치합니다.

pip install pyinstaller

설치가 완료되면
명령어로 바로 사용할 수 있습니다.


기본 exe 파일 만들기

가장 기본적인 exe 파일 생성 방법입니다.

pyinstaller main.py

이 명령을 실행하면
다음과 같은 폴더가 생성됩니다.

  • build
  • dist
  • main.spec

실제로 실행 파일은
dist/main/main.exe 에 생성됩니다.


exe 파일 하나로 만들기

기본 설정에서는
여러 파일이 함께 생성됩니다.

배포를 위해
하나의 exe 파일로 만들려면
옵션을 추가합니다.

pyinstaller --onefile main.py

이제 dist/main.exe 하나만 생성됩니다.


콘솔 창 숨기기 (게임, GUI 프로그램 필수)

게임이나 GUI 프로그램의 경우
검은 콘솔 창이 뜨는 것이 보기 좋지 않습니다.

콘솔 창을 숨기려면
다음 옵션을 사용합니다.

pyinstaller --onefile --noconsole main.py

이 옵션은
pygame, tkinter, PyQt 프로그램에서 거의 필수입니다.


아이콘 추가하기

exe 파일에 아이콘을 추가할 수 있습니다.

아이콘 파일은
.ico 형식이어야 합니다.

pyinstaller --onefile --noconsole --icon=icon.ico main.py

아이콘이 적용된
exe 파일이 생성됩니다.


pygame 프로젝트 exe 만들 때 주의사항

pygame 게임의 경우
이미지, 사운드 파일이 함께 포함되어야 합니다.

파일을 불러올 때
상대 경로만 사용하면 문제가 발생할 수 있습니다.

이때는
다음과 같은 방식으로 경로를 처리합니다.

import sys
import os

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

이 함수를 사용해
이미지나 사운드를 불러옵니다.

sound = pygame.mixer.Sound(resource_path("sound.wav"))

이 방식은
exe 파일에서도 정상 동작합니다.


exe 파일 실행 위치 주의

생성된 exe 파일은
반드시 dist 폴더 안에서 실행해야 합니다.

바탕화면이나 다른 위치로 옮길 경우
함께 생성된 파일이 필요한 경우 실행되지 않을 수 있습니다.

--onefile 옵션을 사용하면
이 문제를 대부분 해결할 수 있습니다.


바이러스 오탐 문제

PyInstaller로 만든 exe 파일은
일부 백신 프로그램에서
오탐지되는 경우가 있습니다.

이는 코드 문제가 아니라
패키징 방식 때문인 경우가 대부분입니다.

배포 시에는
압축 파일로 제공하거나
신뢰 가능한 경로에서 배포하는 것이 좋습니다.


정리

파이썬 exe 파일화의 기본 흐름은 다음과 같습니다.

  1. PyInstaller 설치
  2. --onefile 옵션 사용
  3. GUI 프로그램은 --noconsole 추가
  4. 필요하면 아이콘 설정
  5. 리소스 파일 경로 처리

이 과정을 익히면
파이썬으로 만든 프로그램을
실제 배포 가능한 프로그램으로 만들 수 있습니다.


728x90
도마2
@도마2 :: 도마의 코드노트

초보자를 위한 코딩 강의를 정리합니다. 파이썬부터 C#, Unity 게임 제작까지 차근차근 기록합니다. — 도마

목차