이전 글에서 공공 데이터 파싱을 위한 코드를 작성하는 법을 알아보았다.
이번에는 이렇게 작성했던 코드를 바탕으로 사람들에게 배포할 수 있는 exe프로그램을 만드는 법에 대해 알아본다.
우선 이전 글에서 작성했던 코드를 .py로 재작성하기 위해 왼쪽 상단의 File - Download as - Python (.py)를 클릭한다. 파일은 내 pc - 다운로드에 저장된다.
사진1에서 만든 read_api.py를 현재 작업 폴더로 가져오자. 사실 마우스로 직접 가져오는 게 훨씬 빠르고 편한데, 어차피 이제부터는 명령 프롬프트로만 작업할 거라서 괜히 해봤다. 아무튼 read_api.py파일과 명령 프롬프트의 작업 디렉터리를 작업 폴더로 옮긴다.
명령 프롬프트를 실행시켜서 만들어뒀던. py 파일을 .exe프로그램으로 변환시켜줄 pyinstaller 라이브러리를 설치한다.
파이썬 프로그램을 배포했을 때 그 프로그램을 사용하는 사용자의 컴퓨터가 나랑 같은 환경일 수가 없기 때문에 코드가 실행되기 위한 모든 라이브러리들을 담아서 프로그램을 만든다. 그러니까 간단히 말해서 굉장히 많은 파일들이 생성된다는 말이다. 이때 pyinstaller로 변환하면서 생기는 모든 파일들을 하나의 파일로 만들어주는 -F를 사용하면 된다. -F는 -onefile과 같은 옵션으로, 다른 사람들에게 프로그램을 배포할 때는 프로그램 하나만 주는 게 받는 사람도 주는 사람도 편하다.
작업이 완료되면 build, dist 디렉터리와 read_api.spec파일이 생성된다. exe파일은 dist폴더에 생성되는데, 실행시켜보면 명령 프롬프트가 나오면서 무슨 메시지를 뱉으면서 바로 종료된다.
bg.png를 dist폴더에 옮기고 다시 프로그램을 실행시키면 정상적으로 실행이 된다. 이대로 프로그램 작성을 완료해도 상관없으나, 프로그램이 실행될 때 같이 실행되는 명령 프롬프트가 신경이 쓰인다.
문제를 해결하기 위해서 read_api.spec 파일을 수정해주면 된다. read_api_spec 파일의 내용을 확인해보면 다음과 같다.
메모장으로 read_api.spec파일을 열어서 console을 False로 바꿔서 다시 pyinstaller로 변환시켜주면 프로그램을 실행시켰을 때 명령 프롬프트가 실행되지 않는다. 두 번째로 변환시킬 때는 .py가 아니라 .spec파일을 사용해야 한다.
프로그램을 실행시킨 결과는 다음과 같다.
여기까지 공공 데이터 파싱 프로그램 만들기를 마친다.
'공부 > python' 카테고리의 다른 글
[Pytesseract를 사용한 메이플스토리 길드 스코어 분석] 필요한 라이브러리 설치 (0) | 2022.03.27 |
---|---|
[Pytesseract를 사용한 메이플스토리 길드 스코어 분석] 프로그램 소개 (0) | 2022.03.24 |
[공공 데이터 파싱 프로그램 만들기] 프로그램 UI 제작, api 데이터 엑셀 파일로 저장 (0) | 2022.01.02 |
[공공 데이터 파싱 프로그램 만들기] 공공데이터포털 등록과정 (0) | 2022.01.02 |
[공공 데이터 파싱 프로그램 만들기] 소개 (0) | 2022.01.02 |
댓글