로컬 컴퓨터 검색 시스템 구축 시도 (1)
면책 조항
(1)로 시작하지만 여기서 끝날지, 추가 수정이 일어날지 모릅니다.
이대로 잘 끝나면 좋겠습니다.
로컬 파일 검색 시스템 배포 및 설치 가이드
개발자/배포자 작업 - 설치 프로그램 만들기
1. 필요한 도구 설치
pip install cx_Freeze pyinstaller tkinter
2. 설치 마법사 및 MSI 생성기 코드 준비
setup_wizard.py
- 체크박스 UI 설치 마법사build_installer.py
- MSI 설치 프로그램 생성기app.py
- Flask 웹 애플리케이션integrated_search.py
- 로컬 파일 검색 시스템 핵심 코드templates/index.html
- 웹 인터페이스
3. 설치 프로그램 빌드
python setup_wizard.py
이 명령을 실행하면:
설치 마법사 UI가 표시됨
설정 완료 후 자동으로 MSI 파일이 생성됨
결과물:
로컬파일검색시스템_설치.msi
파일 생성
배포 방법
1. 일반 배포
로컬파일검색시스템_설치.msi
파일을 이메일, 클라우드 스토리지, USB 등으로 공유간단한 설치 안내 문서 함께 제공
2. 기업 배포
회사 소프트웨어 배포 시스템을 통해 MSI 패키지 배포 (SCCM, PDQ Deploy 등)
자동 설치를 위한 무인 설치 명령:
복사
msiexec /i 로컬파일검색시스템_설치.msi /quiet
최종 사용자 설치 가이드 (다른 사람들에게 제공할 안내문)
설치 시스템 요구사항
Windows 10 이상
최소 4GB RAM (고급 기능 사용 시 8GB 이상 권장)
최소 1GB 디스크 여유 공간 (고급 기능 설치 시 약 3GB)
관리자 권한 (설치 시에만 필요)
설치 방법
로컬파일검색시스템_설치.msi
파일을 더블클릭합니다.설치 마법사가 나타나면 [다음]을 클릭합니다.
설치 경로를 선택하고 [다음]을 클릭합니다.
고급 기능 설치 여부를 선택합니다:
EasyOCR (향상된 이미지 텍스트 인식)
Whisper (동영상/오디오 음성인식)
[설치] 버튼을 클릭하고 설치가 완료될 때까지 기다립니다.
설치 완료 후 [완료] 버튼을 클릭합니다.
프로그램 실행 방법
바탕화면에 생성된 "로컬 파일 검색 시스템" 아이콘을 더블클릭합니다.
자동으로 웹 브라우저가 열리고 프로그램 인터페이스가 표시됩니다.
검색하고 싶은 폴더 경로를 입력하고 "스캔 시작" 버튼을 클릭합니다.
인덱싱이 완료된 후 원하는 내용을 검색합니다.
프로그램 제거 방법
Windows 제어판 > 프로그램 및 기능 메뉴로 이동합니다.
"로컬 파일 검색 시스템"을 선택하고 [제거] 버튼을 클릭합니다.
제거 마법사의 안내에 따라 프로그램을 제거합니다.
자주 묻는 질문 (FAQ)
Q: 프로그램이 실행되지 않습니다. 어떻게 해야 하나요?
A: 설치 후 첫 실행 시 Windows 방화벽 경고가 표시될 수 있습니다. "액세스 허용"을 클릭하여 프로그램의 네트워크 연결을 허용해주세요.
Q: 바이러스 백신이 설치 파일을 의심스러운 파일로 탐지합니다.
A: MSI 파일은 디지털 서명이 없어 일부 백신 프로그램에서 경고할 수 있습니다. 안전한 프로그램이니 바이러스 백신의 허용 목록에 추가하시거나 일시적으로 비활성화 후 설치하세요.
Q: EasyOCR이나 Whisper 기능을 나중에 추가할 수 있나요?
A: 네, 설치 후 프로그램의 "설정" 탭에서 고급 기능을 설치할 수 있습니다.
Q: 최소 요구사항보다 낮은 사양의 컴퓨터에서도 사용 가능한가요?
A: 기본 기능은 작동하지만, 대용량 파일 처리 시 성능이 저하될 수 있습니다. EasyOCR과 Whisper는 높은 사양이 필요합니다.
배포자를 위한 추가 정보
커스터마이징 옵션
기본 설치 경로, 회사 로고, 기본 설정 등을 변경하려면
setup_wizard.py
파일을 수정하세요.MSI 파일의 아이콘, 배너 등을 변경하려면
build_installer.py
파일을 수정하세요.
설치 프로그램 자체 배포
설치 프로그램 생성 코드와 함께 이 가이드를 공유하여 다른 사람도 자신의 MSI를 만들 수 있도록 합니다.
setup_wizard.py
,build_installer.py
, 핵심 코드 파일들을 포함한 소스 패키지를 배포합니다.
이 가이드를 따라서 로컬 파일 검색 시스템을 쉽게 배포하고 설치할 수 있습니다. 추가 질문이나 문제가 있으면 언제든 문의해주세요.
설치 화면
여기까지는 잘 진행됐는데 '설치'를 눌러도 더 진행되지 않음. 그래서 수동 설치로 전환
pip install flask qdrant-client sentence-transformers pillow pytesseract moviepy python-docx pdfplumber psutil
고급 기능은 별도로 설치
pip install easyocr
pip install openai-whisper
Whisper 설치 중 오류 발생
PS C:\FileSearchSystem> pip install openai-whisper
Defaulting to user installation because normal site-packages is not writeable
Collecting openai-whisper
Downloading openai-whisper-20240930.tar.gz (800 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 800.5/800.5 kB 14.5 MB/s eta 0:00:00
Installing build dependencies ... done
Getting requirements to build wheel ... error
error: subprocess-exited-with-error
× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> [25 lines of output]
<string>:5: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html Traceback (most recent call last): File "C:\\Users\\cyary\\AppData\\Roaming\\Python\\Python313\\site-packages\\pip\\_vendor\\pyproject_hooks\\_in_process\\_in_process.py", line 389, in <module> main() \~\~\~\~^^ File "C:\\Users\\cyary\\AppData\\Roaming\\Python\\Python313\\site-packages\\pip\\_vendor\\pyproject_hooks\\_in_process\\_in_process.py", line 373, in main json_out\["return_val"\] = hook(\*\*hook_input\["kwargs"\]) \~\~\~\~^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\\Users\\cyary\\AppData\\Roaming\\Python\\Python313\\site-packages\\pip\\_vendor\\pyproject_hooks\\_in_process\\_in_process.py", line 143, in get_requires_for_build_wheel return hook(config_settings) File "C:\\Users\\Public\\Documents\\ESTsoft\\CreatorTemp\\pip-build-env-n4m2x2r2\\overlay\\Lib\\site-packages\\setuptools\\build_meta.py", line 334, in get_requires_for_build_wheel return self._get_build\_requires(config_settings, requirements=\[\]) \~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\\Users\\Public\\Documents\\ESTsoft\\CreatorTemp\\pip-build-env-n4m2x2r2\\overlay\\Lib\\site-packages\\setuptools\\build_meta.py", line 304, in _get_build_requires self.run\_setup() \~\~\~\~\~\~\~\~\~\~\~\~\~\~^^ File "C:\\Users\\Public\\Documents\\ESTsoft\\CreatorTemp\\pip-build-env-n4m2x2r2\\overlay\\Lib\\site-packages\\setuptools\\build_meta.py", line 522, in run_setup super().run\_setup(setup_script=setup_script) \~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\\Users\\Public\\Documents\\ESTsoft\\CreatorTemp\\pip-build-env-n4m2x2r2\\overlay\\Lib\\site-packages\\setuptools\\build_meta.py", line 320, in run_setup exec(code, locals()) \~\~\~\~^^^^^^^^^^^^^^^^ File "<string>", line 21, in <module> File "<string>", line 11, in read_version KeyError: '__version__' \[end of output\]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error
× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> See above for output.
note: This error originates from a subprocess, and is likely not a problem with pip.
* 해결 방법:다른 버전의 Whisper 설치 시도:
pip install git+https://github.com/openai/whisper.git
app.py 실행 결과
Traceback (most recent call last):
File "C:\FileSearchSystem\app.py", line 9, in <module>
from integrated_search import LocalFileSearchSystem
File "C:\FileSearchSystem\integrated_search.py", line 1322
"""동영상에서 오디오 추출""" ^^^^^
SyntaxError: invalid syntax
해결 방안:
- 큰 따옴표를 주석 처리(#)하고 큰따옴표는 삭제.
그 외 수정하라는 거 다 수정함
설치 후 오류
Flask에서 템플릿을 찾지 못하는 오류가 발생했네요.
index.html
파일이 올바른 위치에 없어서 발생하는 문제입니다. Flask에서는 기본적으로templates
폴더 안에 HTML 템플릿 파일들이 위치해야 합니다.현재
templatesindex.html
이라는 파일명으로 되어 있는데, 이것을 올바른 디렉토리 구조로 변경해야 합니다.다음과 같이 해결하세요:
C:\FileSearchSystem
폴더 안에templates
폴더를 생성하세요.mkdir templates
현재 가지고 있는
templatesindex.html
파일의 내용을templates
폴더 안의index.html
파일로 복사하세요.copy templatesindex.html templates\index.html
또는 수동으로:
텍스트 에디터로
templatesindex.html
파일을 열고 내용을 복사
templates
폴더 내에index.html
파일을 새로 만들고 복사한 내용을 붙여넣기이렇게 하면 Flask가
templates
폴더 안에서index.html
파일을 찾을 수 있게 되어 오류가 해결될 것입니다.
이렇게 브라우저 띄우는 데 성공


