[python] 윈도우용 파이썬 프로그램 배포 방법 (SQLite 포함)
윈도우용 파이썬 프로그램 배포 방법 (SQLite 포함)
파이썬으로 개발한 프로그램을 윈도우에서 실행할 수 있도록 배포하는 방법을 정리해보겠습니다. 특히, SQLite 데이터베이스를 포함하여 배포하는 방법에 대해 자세히 설명하겠습니다.
1. 배포 준비: 필요한 파일 정리
배포할 프로그램을 구성하는 파일을 먼저 정리해야 합니다. 일반적으로 다음과 같은 파일들이 필요합니다.
main.py
(메인 실행 파일)database.db
(SQLite 데이터베이스 파일)config.json
(설정 파일이 있을 경우)requirements.txt
(사용한 라이브러리 목록)
이 파일들을 포함하여 프로그램을 패키징하면 배포 시 필요한 환경을 쉽게 구성할 수 있습니다.
2. PyInstaller를 이용한 실행 파일(.exe) 생성
PyInstaller를 사용하면 파이썬 스크립트를 실행 파일(.exe)로 변환할 수 있습니다.
2.1 PyInstaller 설치
먼저 PyInstaller를 설치합니다.
pip install pyinstaller
2.2 단일 실행 파일(.exe) 생성
아래 명령어를 실행하면 .exe
실행 파일이 생성됩니다.
pyinstaller --onefile --add-data "database.db;." main.py
--onefile
: 단일 실행 파일로 생성--add-data "database.db;."
: SQLite 데이터베이스 파일을 포함
💡 참고: 경로 구분자는 운영체제에 따라 다릅니다.
- Windows:
database.db;.
- Mac/Linux:
database.db:.
2.3 폴더 기반 실행 파일 생성
폴더 기반으로 배포할 경우 다음 명령어를 사용합니다.
pyinstaller --add-data "database.db;." main.py
이렇게 하면 dist/main/
폴더 안에 실행 파일과 필요한 파일들이 포함됩니다.
3. SQLite 데이터베이스 포함 및 경로 설정
PyInstaller로 패키징된 실행 파일에서도 SQLite DB를 정상적으로 불러올 수 있도록 경로를 설정해야 합니다.
SQLite DB 파일 경로 지정 코드 예제
import os
import sys
import sqlite3
def get_database_path():
if getattr(sys, 'frozen', False): # PyInstaller 실행 파일 여부 체크
base_path = sys._MEIPASS # 실행 파일 내부 경로
else:
base_path = os.path.dirname(os.path.abspath(__file__)) # 개발 환경
return os.path.join(base_path, "database.db")
db_path = get_database_path()
# SQLite 연결
conn = sqlite3.connect(db_path)
cursor = conn.cursor()
이 코드를 사용하면 실행 파일이 어느 경로에서 실행되든 SQLite DB를 정상적으로 찾을 수 있습니다.
4. 배포 파일 압축 및 전달
PyInstaller로 생성된 실행 파일을 포함한 폴더(dist/main/
)를 압축하여 배포하면 됩니다.
배포할 파일 목록
dist/main.exe
(혹은dist/main/
폴더 전체)database.db
config.json
(설정 파일이 있다면 포함)
5. 추가 옵션 (선택 사항)
5.1 아이콘 추가
pyinstaller --onefile --icon=app.ico main.py
이 명령어를 사용하면 실행 파일에 아이콘을 추가할 수 있습니다.
5.2 콘솔 창 숨기기 (GUI 프로그램인 경우)
pyinstaller --onefile --noconsole main.py
GUI 프로그램에서는 콘솔 창이 나타나는 것을 방지하기 위해 --noconsole
옵션을 사용할 수 있습니다.
6. 배포 후 테스트
배포한 .exe
파일을 다른 PC에서 실행하여 정상적으로 동작하는지 확인하세요. 특히, SQLite DB가 정상적으로 로드되는지 확인하는 것이 중요합니다.
이 과정을 따르면 SQLite DB까지 포함된 윈도우용 실행 파일을 쉽게 배포할 수 있습니다. 🚀
댓글
댓글 쓰기