본문 바로가기
Python/GUI(tkinter)

독학 Python tkinter(GUI) - 20. py to exe 로 변환하기

by To올라운더 2023. 11. 30.
반응형

Q. 왜 exe로 변환이 필요할까?

지금까지 포스팅에서 GUI를 만든건 가시성이나 편리성보다는

'프로그램 배포' 라는 목적에 의미를 두었기 때문이다. 

 

다른 사람이 쓸 수 있도록 전달하려함이 가장 큰 목적이었는데,

tkinter로 작성하더라도 python이 설치 되어 있지 않으면,

.py로 전달해주는 파일은 아무런 의미가 없다.

 

exe 파일로 전환하여 윈도우에서 실행할 수 있도록 전달해줘야

실제 사용자가 어려움 없이 프로그램에 접근할 수 있게된다.

 

.py 파일을 exe로 변환하는 방법은 여러가지가 있지만,

오늘은 간략하게 pyinstaller를 통한 예시를 보여주고 마무리 될 예정이다.

 

1. pyinstaller 설치하기

 - 터미널에서 pip 를 통해 pyinstaller 모듈을 설치한다.

 - pip install pyinstaller

반응형

 

2. exe 변환하기

 - 설치가 완료되면, 터미널 창에서 

pyinstaller --onefile [python_filename.py] --icon=[icon_filename.ico] --noconsole

 형태로 내용을 입력한다.

 - 해당 문구에 포함된 옵션은 아래와 같으나 생략가능하다.

    1) onefile : 1개의 exe 파일로 변환한다.(단점으로 용량이 증가하고, 속도가 조금 느리다.)

    2) icon : exe 파일로 변환할 때 실행될 아이콘의 그림을 지정한다.

                 해당 사이트(https://convertio.co/kr/png-ico/) 에서 png 파일을 ico 파일로 변환할 수 있다.

    3) noconsole : 터미널(cmd)창이 나타나지 않게 하는 옵션으로 코드 내에 작성된 print문이나 error 내용을 확인하고자 할 때는 해당 항목을 제거한다.

 

3. 이제 우리가 tkinter의 마지막 포스팅에서 만든 타이머를 exe로 변환해보자.

 1) icon 파일을 코드가 있는 경로에 복사한다.

run_icon.ico
0.01MB
19_last_piece.py
0.00MB

 

  2) 터미널에 해당 커맨드를 입력한다.

 

  pyinstaller --onefile 19_last_piece.py --icon=run_icon.ico --noconsole 

 

 

3) 파일 확인하기

 - 해당 작업이 성공적으로 완료 되면, dist 폴더가 생긴다.

 

 

 - 첨부한 icon도 정상적으로 등록된 것을 확인할 수 있고, 해당 파일을 실행해보겠다.

 

 

 

 

사실 파일을 첨부하거나(add data) 다른 옵션을 추가하는 등 pyinstaller의 옵션도 생각보다 다양하다.

하지만 해당 내용까지만 알아도 크게 문제가 되지 않아 간략히 소개하는 것으로 마무리하겠다.

 

길고도 길었던 GUI와 배포파일 만들기 끝 !!

 

반응형