본문 바로가기
파이썬

파이썬 파일을 exe파일로 만들기 - pyinstaller

by I!i어★떤☆날★에Ι!i 2024. 3. 10.
반응형

파이썬 파일의 확장자는 py이다. 파이썬 파일을 실행하기 위해서는 파이썬이 설치되어 있어야 한다. 만약 파이썬이 설치되지 않은 사람에게 파일을 배포한다면 배포받은 사람이 파이썬을 설치하거나, 배포할 때 윈도우 실행파일인 exe파일로 배포할 수 있다. 파이썬 파일을 exe파일로 만들어 배포하기 위해서는 pyinstaller라는 유틸리티가 필요하다. pyinstaller를 이용하여 파이썬 파일을 exe 파일로 만들고 배포해 보자.

 

 

* 파이썬 파일 준비

 

파이썬파일 py를 exe파일로 변환하기 위해서 먼저 파이썬 파일을 준비 하자. 나는 간단한 메트로놈 프로그램을 준비하였다.   Metronom.py  라는 파일을 만들었다. Metronom파일은 간단한 메트로놈 소리를 출력시키는 프로그램이다. "Metronome Start"라는 메시지와 함께 소리가 출력된다.

Metronom.py
예제) Metronom.py 파일

 

 

파이썬을 이용하여 py 파일을 실행하면, 로그 출력과 소리 출력을 통해서 프로그램이 잘 실행되는 것을 확인할 수 있다.

파이썬에서_py파일_실행
파이썬에서 py파일 실행

 

 

py파일을 실행할 때는 파이썬에서 실행시켜야 한다. 윈도우에서 파이썬을 이용하지 않고 py 파일을 그냥 실행하면 실행되지 않는다. 실행할 다른 프로그램을 선택하라는 창이 나오고 프로그램이 종료된다. 

py파일_실행
py파일 실행

 

 

파이썬 프로그램을 배포하고 싶을 때에는 상대 컴퓨터에 파이썬이 설치되어 있어야 하며, py파일에 사용된 라이브러리도 모두 상대 컴퓨터에 설치되어 있어야 한다. 파이썬을 사용하는 사용자라면 큰 문제가 되지 않겠지만, 일반 사용자에게는 파이썬을 설치하는 일도, 라이브러리를 설치하는 일도 무척 어려운 일이다. 이러한 이유로 exe파일르 만들어서 배포하는 경우가 많다. 파이썬 파일을 exe파일로 변환해 보자.

 

 

* pyinstaller 설치

파이썬을 exe파일로 만들기 위해서는 pyinstaller를 설치해야 한다.  pip를 이용하여 pyinstaller를 설치하자

pip install pyinstaller

 

pyinstaller_설치
pyinstaller 설치

 

pip install pyinstaller 또는 python -m pip install pyinstaller 명령을 이용하여 pyinstaller를 설치하자. 

 

* 파이썬 파일을 EXE파일로 만들기

py 파일이 있는 폴더로 이동하여 pyinstaller를 실행하여 exe파일을 만들어 보자. 아래 명령어를 통해서 exe파일로 변환할 수 있다.

pyinstaller ./Metronom.py

py파일_exe파일_만들기
py파일 exe파일 만들기

 

 

프로그램이 실행되면서 파이썬 파일을 exe파일로 변환한다. 파이썬 파일은 작은 크기지만, 파이썬 파일을 실행하는 데 사용된 라이브러리와 파이썬 엔진 등이 크므로 시간이 오래 걸릴 수 있다. 필요한 파일들이 윈도우용으로 생성되는 것으로 보인다. 파이썬 파일이 크고 사용한 라이브러리가 많을수록 실행 시간이 오래 걸린다.

py파일_exe파일_만들기_완료
py파일 exe파일 만들기 완료

 

Building ~ completed successfully 메세지와 함께 변환이 완료되었다. 변환된 파일은 dist 폴더에 생성된다. 

 

pyinstaller실행후_폴더
pyinstaller 실행 후 폴더

 

dist폴더의 py 파일명 폴더에 exe 파일로 생성된다.  exe 파일을 실행하면 프로그램이 잘 실행되는 것을 볼 수 있다. 

exe파일_실행
생성된 exe파일 실행

 

 

폴더를 살펴보자. exe파일 용량을 보니 1.6MB 정도 된다. 그리고 exe파일 뿐만 아니라 폴더도 보인다.

같은 폴더의 _internal 폴더는 exe 파일을 실행하기 위해 필요한 파일들이 함께 생성된 것이다.

_internal 폴더를 열어보면 다음과 같다. 

 

_internal폴더_내용
_internal폴더 내용

 

Metronom폴더_용량
Metronom폴더 용량

 

Metronom 폴더의 전체 용량이 15MB 정도 된다. exe파일이 1.6MB 정도 되니까, _internal 폴더의 파일은 13.4MB 정도 되는 것 같다.

 

* 하나의 EXE파일로 만들기

_internal 폴더에 파일이 무척 많아 보인다. 관리하기 쉽지 않아 보인다. 이러한 여러 파일을 하나의 파일로 만들 수 있다. pyinstaller에  -F 옵션을 붙여서 하나의 파일로 만들어보자.

 

pyinstaller -F ./Metronom.py

exe파일_하나로만들기
exe파일 하나로만들기

 

 

Building이 완료된 후에 dist 폴더에 가보면 Metronom폴더가 아니라 Metronom.exe 파일이 생성된 것을 확인할 수 있다. 용량도 6.8MB 정도로 파일이 여러 개 있는 것보다 용량이 적어 보인다.

생성된exe파일_용량
생성된exe파일 용량

 

파일을 하나로 만드는 것은 여러 개로 되어있던 파일을 하나로 묶는 작업을 한 것이다. exe파일이 실행되면 파일의 압축을 풀고 프로그램을 실행하는 것으로 보인다.  파일이 하나여서 배포 및 관리하기 쉽다는 장점이 있지만 실행속도가 느려지는 단점도 있다. 자신의 상황에 맞추어 exe파일 형식을 결정하고 관리하면 된다.

 

 

반응형

댓글