본문 바로가기
코딩 연습

pyinstaller 내에 sqlite3 db 추가하는 방법

by good4me 2023. 3. 26.

goodthings4me.tistory.com

 

pyinstaller 실행 파일(exe) 생성 시 sqlite3 db 파일 추가하기

파이썬 tkinter 내에서 데이터 관리를 위해 sqlite3로 db와 table 생성을 적용하고 하나의 실행 파일로 만들기 위해 pyinstaller -w - [filename].py 명령으로 실행 파일을 만들면 db 파일이 추가가 안 되거나, 생성된 exe 파일을 실행해서 보면 지정 경로(상대경로 또는 절대경로)에 db 파일이 생성된 것을 볼 수 있다.

 

원래 의도는 exe 파일 내에서 db가 실행되도록 하여 일반 사용자가 db 파일을 못 보게 하기 위함인데...

 

이 문제를 해결하기 위해 찾아보니 다음과 같은 코드가 있었다.

def resource_path(relative_path):
    try:
        base_path = sys._MEIPASS
    except Exception:
        base_path = os.path.abspath('.')

    return os.path.join(base_path, relative_path)

 

good4me.co.kr

 

위 코드는 상대경로를 절대경로로 변경하는 코드이며, 이를 적용하면 pyinstaller 실행 파일이 실행될 때 파일이 풀어지는 어느 곳에 db 파일이 같이 생성되어 일반 사용자가 db 파일을 못 보게 할 수 있었다.

 

 

댓글