파이썬 실행파일(exe)만들기
🟨 실행파일이 필요한 시점은 언제일까?
- 매번 에디터를 켜서 실행하기 귀찮을 때
- 파이썬이 설치되지 않은 컴퓨터에 프로그램 배포할 때
🟨 실행 파일의 장점?
- 독립성 확보 : 사용자는 별도의 파이썬 인터프리터 설치 없이 프로그램 실행 가능
- 컴파일 및 최적화 : 실행 파일로 만들면 소스코드가 컴파일되고 최적화 되므로 실행속도가 향상될 수 있다. 또한 소스코드 노출을 하지 않으므로 소스코드의 보안을 강화할 수 있다.
- 배포의 용이성 : 실행파일은 단일 파일이기 때문에 배포가 간편하다.
🟨 EXE 파일의 정의
Executable(실행 가능한) File Format의 앞글자를 따온 것이다.
파일 확장자 중 하나로 컴퓨터 프로그램의 실행 파일을 가리킨다.
GUI와 리소스를 포함하고 있고 실행 파일에는 컴푸터만 이해할 수 있는 기계어 코드가 들어 있다.
🟨 EXE 파일의 동작 원리
사용자가 EXE파일을 실행시키면 => 컴퓨터는 EXE파일(소스코드에서 변환된 이진수 기계어를 가지고 있다.)이 포함하고 있는 코드 실행시킨다.
- 기계어에는 컴퓨터의 CPU에게 프로그램을 어떻게 실행할지에 대해 알려주고, CPU는 하드웨어에 명령을 전달한다.

🟨 pyinstaller 란?
pyinstaller : 실행파일 만드는 라이브러리이다.
- 장점 : 사용법 매우 간단, 윈도우 맥 모두 사용가능
- 단점 : 하나의 파일로 만들경우 실행속도가 느림, 윈도우 맥 서로 호환이 되지 않음
🟩 Python 스크립트를 EXE 실행파일로 배포하는 방법은?
1. PyInstaller 설치
pip install pyinstaller
2. EXE로 변환하기
- 1) 배포할 python스크립트 파일이 있는 폴더로 이동한다.
- 2) PyInstaller 명령어로 EXE파일을 생성한다.
pyinstaller --onefile my_script.py
옵션 의미
- --onefile : 스크립트의 하나의 exe파일로 만들어준다.
- --noconsole (선택사항) : 실행시 검은색 콘솔 창을 표시하지 않는다. (GUI프로그램일 경우 권장)
pyinstaller --onefile --noconsole my_script.py
명령어를 실행하면 자동으로 EXE 생성 과정이 진행된다.
3. EXE 파일 확인하기
위 과정이 모두 마치면, 다음 폴더들이 생성이 된다.
- dist 폴더: EXE 파일이 저장된곳
- build 폴더: 생성 중인 중간 파일이 있는 폴더 (삭제 가능)
- .spec 파일: 생성된 설정파일 (삭제 가능)
4. EXE 파일 실행하기
만들어진 my_script.exe 더블 클릭하면 바로 실행된다.
🟧 자주 발생하는 문제 해결방법?
- 스르립트에서 파일 경로는 항상 '상대 경로'를 사용해야한다. (절대 경로 사용시 문제 발생!)
- 외부 라이브러리 사용하는 경우 : 명시적으로 포함해야 한다.
pyinstaller --onefile --hidden-import 라이브러리이름 my_script.py
pyinstaller --onefile --hidden-import pandas my_script.py