파이썬(Python)은 마이크로소프트 윈도우, macOS, 리눅스 등 다양한 운영체제에서 동작하는 크로스 플랫폼 애플리케이션을 만들 수 있는 프로그래밍 언어입니다.
GUI 기반 애플리케이션을 개발할 때는 Tkinter 라이브러리를 활용할 수 있습니다. 그런데 문제는, 완성된 파이썬 프로그램을 파이썬이 설치되지 않은 컴퓨터에서도 바로 실행할 수 있게 하려면 별도의 패키징 작업이 필요하다는 점입니다. 다행히 파이썬은 프로그램을 실행 파일로 변환해 주는 다양한 모듈과 확장 도구를 제공합니다.
운영체제별 실행 파일 변환 도구
- 윈도우 실행 파일: PyInstaller, py2exe
- 리눅스 실행 파일: Freeze
- macOS 실행 파일: py2app
이 중 가장 널리 쓰이는 PyInstaller를 예시로 살펴보겠습니다.
1단계: PyInstaller 설치하기
윈도우 환경에서 pip를 이용해 PyInstaller 모듈을 설치합니다. 명령 프롬프트(또는 터미널)에서 아래 명령어를 입력하세요.
pip install pyinstaller
2단계: Tkinter GUI 앱 작성하기
이번 예제에서는 사용자가 목록에서 요일을 선택할 수 있는 간단한 GUI 앱을 만들어 보겠습니다. 파일 이름은 app.py로 저장합니다.
# 필요한 라이브러리 임포트
from tkinter import *
# tkinter 프레임 인스턴스 생성
win = Tk()
# 윈도우 크기 설정
win.geometry("700x350")
# 라벨 추가
Label(win, text="메뉴에서 요일을 선택하세요",
font=('Aerial 13')).pack(pady=10)
# 선택 값을 저장할 변수 생성
var = StringVar()
# OptionMenu 위젯 생성 및 선택 항목 추가
option = OptionMenu(win, var, "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday")
option.config(bg="gray81", fg="white")
option['menu'].config(bg="green3")
option.pack(padx=20, pady=30)
win.mainloop()위 코드를 실행하면 요일을 선택할 수 있는 드롭다운 메뉴가 포함된 창이 나타납니다.
3단계: 실행 파일(.exe)로 변환하기
- 명령 프롬프트를 열고 app.py 파일이 있는 디렉터리로 이동한 뒤, 아래 명령어를 입력합니다.
pyinstaller app.py
- 명령 실행이 완료되면 dist 폴더 안에 실행 파일 app.exe가 생성됩니다. 해당 파일을 더블클릭하면 파이썬이 설치되지 않은 PC에서도 앱이 정상적으로 구동됩니다.
마무리 및 참고 사항
PyInstaller는 기본적으로 단일 폴더 형태로 결과물을 만들지만, --onefile 옵션을 추가하면 모든 의존성이 하나의 실행 파일에 통합되어 배포가 훨씬 간편해집니다. 또한 --noconsole(또는 -w) 옵션을 사용하면 GUI 앱 실행 시 검은색 콘솔 창이 함께 뜨지 않도록 할 수 있습니다.
pyinstaller --onefile --noconsole app.py
이처럼 Tkinter로 GUI를 구성하고 PyInstaller로 패키징하면, 윈도우·맥·리눅스 어디서든 손쉽게 배포할 수 있는 데스크톱 애플리케이션을 완성할 수 있습니다.