Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

PyInstaller로 Tkinter 프로그램을 실행 파일로 패키징해 공유하는 방법

Tkinter 애플리케이션을 실행 파일로 배포해야 하는 이유

Tkinter는 파이썬(Python) 라이브러리 기반의 크로스 플랫폼 tk GUI 툴킷으로, GUI 기반 애플리케이션을 손쉽게 만들고 개발할 수 있게 해줍니다. Tkinter로 작성한 애플리케이션은 하나의 실행 파일로 묶어(번들링) 배포할 수 있으며, 이렇게 하면 사용자가 파이썬 인터프리터나 IDLE을 설치하지 않아도 프로그램을 바로 실행할 수 있습니다.

특히 소스 코드를 공개하지 않으면서 다른 사람들과 프로그램을 공유하고 싶을 때, 애플리케이션을 실행 파일로 패키징하는 작업이 필수적입니다.

파이썬은 실행 중인 애플리케이션을 하나의 독립 실행형(포터블) 파일로 변환할 수 있는 다양한 모듈과 확장 기능을 제공합니다. 운영체제마다 실행 환경이 다르기 때문에, Windows, macOS, Linux 등 각 플랫폼에 맞는 패키징 도구를 선택해야 합니다.

PyInstaller 설치하기

여기서는 파이썬의 PyInstaller 패키지를 사용해 애플리케이션을 실행 파일로 변환합니다. PyInstaller는 Windows, macOS, Linux를 모두 지원하며 가장 널리 쓰이는 파이썬 패키징 도구 중 하나입니다. 설치하려면 아래 명령어를 입력하세요.

pip install pyinstaller

Tkinter 스크립트를 실행 파일로 변환하는 방법

  • Windows 운영체제에서 pip install pyinstaller 명령어로 PyInstaller를 설치한 후, 아래 명령어를 입력하고 Enter 키를 누릅니다.

pyinstaller --onefile -w filename

참고: --onefile 옵션은 모든 의존성을 하나의 실행 파일로 묶어 주고, -w(또는 --noconsole) 옵션은 프로그램 실행 시 불필요한 콘솔 창이 함께 뜨지 않도록 해줍니다.

  • 명령어 실행 후 스크립트 파일이 있는 위치를 확인하면, 실행 파일이 담긴 dist 폴더가 새로 생성된 것을 볼 수 있습니다.

  • 생성된 실행 파일을 실행하면 Tkinter 애플리케이션 창이 나타납니다.

예제: 이름을 입력받아 인사하는 Tkinter 앱

이 예제에서는 사용자에게 이름을 입력받고, 입력된 이름으로 인사 메시지를 보여주는 간단한 애플리케이션을 만들어 보겠습니다.

# 필요한 라이브러리 임포트
from tkinter import *
from tkinter import ttk

# tkinter 프레임 인스턴스 생성
win = Tk()

# tkinter 프레임 크기 설정
win.geometry("750x250")

# 메시지를 표시하는 함수 정의
def myclick():
    message = "Hello " + entry.get()
    label = Label(frame, text=message, font=('Times New Roman', 14, 'italic'))
    entry.delete(0, 'end')
    label.pack(pady=30)

# 프레임 생성
frame = LabelFrame(win, width=400, height=180, bd=5)
frame.pack()

# 프레임이 내부 위젯 크기에 맞춰 줄어들지 않도록 설정
frame.pack_propagate(False)

# 프레임 안에 Entry(입력) 위젯 생성
entry = ttk.Entry(frame, width=40)
entry.insert(INSERT, "Enter Your Name")
entry.pack()

# 클릭 버튼 생성
ttk.Button(win, text="Click", command=myclick).pack(pady=20)

win.mainloop()

실행 결과 확인하기

이제 아래 명령어를 실행해 작성한 코드를 실행 파일로 변환합니다.

pyinstaller --onefile -w filename

명령어가 정상적으로 완료되면 프로젝트 폴더 안의 dist 폴더에 실행 파일이 자동으로 생성됩니다.

생성된 exe 파일을 실행하면 Entry(입력) 위젯이 있는 창이 열립니다. 이름을 입력한 뒤 "Click" 버튼을 누르면 화면에 인사 메시지가 표시됩니다.

PyInstaller로 Tkinter 프로그램을 실행 파일로 패키징해 공유하는 방법