학습 로그/Python3

D+49[Python] 메모 요약 앱 만들기 예제 실습

goodjob^^ 2026. 6. 18. 20:28

ㅇ 일 자 : 2026년 6월 17(수) 

 

메모 요약앱 만들때 참고사항

 

1. Qt 리소스(.qrc) 관리 및 변환

  • 경로 설정: 리소스 파일에서 prefix="/icons"와 file="icons/note.png"를 조합하면 실제 참조 경로는 :/icons/icons/note.png
  • 파이썬 변환: 터미널에서 아래 명령어를 실행하여 .qrc 파일을 파이썬 파일(.py)로 변환해야 소스코드에서 import하여 사용할 수 있다.     예) pyside6-rcc resources/resources.qrc -o resources/resources_rc.py
2. 환경 설정 (settings.json)
  • 동작 방식: 앱 실행 시 settings.json 파일 존재 여부와 형식을 확인하며, 오류가 있으면 기본값(DEFAULT_SETTINGS) 적용
  • 주요 설정 정보: 앱 제목, Ollama API 주소, 로컬 LLM 모델명(llama3.2:3b), 요약 항목 개수(3개)를 정의
  • 문법 주의: JSON 파일 내부 문자열은 반드시 큰따옴표(")를 사용해야 하며, 마지막 항목 뒤에는 쉼표(,)를 붙이지 않는다.
3. 앱 배포 (PyInstaller)
  • 리소스 파일: 변환된 resources_rc.py는 파이썬 코드이므로 배포 시 자동으로 함께 빌드 됨
  • 설정 파일: settings.json은 외부 파일이므로 배포할 때 파이썬 코드와 별도로 패키징에 포함해야 함.
4. 기본 배포 명령어
터미널에서 아래 명령어를 실행하면 앱이 하나의 폴더 형태로 빌드된다.
pyinstaller --noconsole main.py
  • --noconsole (또는 -w): 앱 실행 시 검은색 터미널(콘솔) 창이 뜨지 않도록 한다.
  • main.py: 실행 파일명 (실제 작성하신 메인 파일명으로 변경 가능) 
5. 외부 설정 파일(settings.json) 포함하기
resources_rc.py는 파이썬 코드라 자동으로 묶이지만, settings.json은 외부 파일이므로 배포 폴더에 강제로 포함시켜야 함
※ 방법 A : 명령어로 한 번에 빌드하기 (--add-data 옵션)
  • Windows: pyinstaller --noconsole --add-data "settings.json;." main.py
  • Mac / Linux: pyinstaller --noconsole --add-data "settings.json:." main.py
    (주의: 윈도우는 세미콜론;, 맥/리눅스는 콜론:을 구분자로 사용)
※ 방법 B: .spec 파일 수정하기 (추천)
한 번 빌드하면 생기는 main.spec 파일을 열어 datas 항목을 아래와 같이 수정하고 pyinstaller main.spec을 실행하기
 
datas=[('settings.json', '.')],
 
6. 빌드 완료 후 확인 및 주의사항
  • 결과물 위치: 빌드가 끝나면 dist/main/ 폴더가 생성된다.
  • 실행 조건: 실행 파일(main.exe 등)과 settings.json 파일이 같은 위치(동일 폴더)에 있어야 프로그램이 설정을 읽어온다.