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 파일을 코드가 있는 경로에 복사한다.
2) 터미널에 해당 커맨드를 입력한다.
pyinstaller --onefile 19_last_piece.py --icon=run_icon.ico --noconsole
3) 파일 확인하기
- 해당 작업이 성공적으로 완료 되면, dist 폴더가 생긴다.
- 첨부한 icon도 정상적으로 등록된 것을 확인할 수 있고, 해당 파일을 실행해보겠다.
사실 파일을 첨부하거나(add data) 다른 옵션을 추가하는 등 pyinstaller의 옵션도 생각보다 다양하다.
하지만 해당 내용까지만 알아도 크게 문제가 되지 않아 간략히 소개하는 것으로 마무리하겠다.
길고도 길었던 GUI와 배포파일 만들기 끝 !!
'Python > GUI(tkinter)' 카테고리의 다른 글
독학 Python tkinter(GUI) - 19.Last piece1(thread) (0) | 2023.11.22 |
---|---|
독학 Python tkinter(GUI) - 18.Menubutton (1) | 2023.11.16 |
독학 Python tkinter(GUI) - 17.progressbar (0) | 2023.11.15 |
독학 Python tkinter(GUI) - 16.photoimage(+PIL) (0) | 2023.11.14 |
독학 Python tkinter(GUI) - 15.Combobox (0) | 2023.11.13 |