Qwejay/QPyPack
Python0 / 0
PyInstaller와 Nuitka 기반 Python 앱 패키징 GUI 도구
TL;DR
QPyPack은 PyInstaller와 Nuitka를 통합한 standalone Python 패키징 GUI 도구이며, pip 설치 후 `qpypack` 명령으로 실행하거나 GitHub Releases의 독립 실행 파일을 사용할 수 있습니다. Python 소스 파일을 드래그하면 Python 환경, 의존성, hidden imports, 리소스와 빌드 모드를 GUI에서 설정해 `--onefile` 또는 `--onedir` 결과물을 만듭니다. requirements.txt·AST 스캔·pipreqs를 조합해 누락 import를 보완하고, Playwright·MoviePy 등 일부 라이브러리에 Hooks를 적용합니다. 명령줄 패키징이 부담스럽거나 복잡한 의존성을 가진 데스크톱 Python 앱을 배포하려는 개발자에게 맞지만, README에 성능 벤치마크는 없습니다.
핵심 포인트
- QPyPack은 PyInstaller와 Nuitka를 하나의 GUI에서 선택해 Python 애플리케이션을 실행 파일로 만드는 standalone 도구이며, PyInstaller·Nuitka 생태계에 속합니다. `.py` 또는 `.pyw` 파일을 드래그하면 애플리케이션 정보와 작업 공간을 초기화한 뒤 빌드 설정으로 이어집니다. 명령줄 옵션과 환경 설정에 익숙하지 않은 개발자가 Windows·macOS·Linux용 배포 파일을 준비할 때 적합합니다.
- 의존성 누락으로 발생하는 `ModuleNotFoundError`를 줄이기 위해 `requirements.txt`, AST 기반 정적 import 스캔, 설치 패키지 매핑을 함께 사용합니다. 입력된 소스와 의존성 목록을 검사해 hidden imports를 보완하고, `ttkbootstrap`, `customtkinter`, `playwright`, `moviepy`에는 별도 Hooks와 리소스 수집 처리를 적용합니다. Playwright처럼 추가 리소스가 필요한 프로젝트나 PySide/PyQt 기반 앱을 GUI에서 패키징하려는 경우에 특히 유용합니다.
- PyInstaller는 빠른 빌드와 높은 호환성을 목표로 하고, Nuitka는 Python 코드를 C/C++ 바이너리로 컴파일하는 방식으로 선택할 수 있습니다. 두 엔진 모두 `--onefile`과 `--onedir`를 지원하며, Nuitka는 로컬 MSVC·Clang·GCC를 우선 사용하고 없으면 MinGW-w64 도구 체인을 자동으로 내려받습니다. 단일 실행 파일이 필요한 배포와 실행 속도·바이너리 크기를 중시하는 빌드를 같은 화면에서 비교해 선택할 수 있습니다.
- 빌드 전 물리 메모리를 평가하고 OOM 또는 `ZstdError`가 발생하면 동시성을 낮춰 재시도하며, 임시 디렉터리 격리로 OneDrive나 백신 프로그램의 파일 잠금 문제를 피하도록 구성되어 있습니다. 설정 화면에서는 Python 인터프리터, 출력 이름, 애플리케이션 아이콘, 콘솔 표시 여부, 주·보조 PIP 소스, requirements 설치 여부를 조정할 수 있습니다. README에는 정량 벤치마크나 패키징 성공률이 없으므로 성능 우위를 수치로 판단하기보다는 실제 프로젝트를 시험 빌드한 뒤 도입하는 편이 안전합니다.
이미지 분석
98
Stars
9
Forks
+204
Trending
0
조회수
98 watchers1 open issuesGNU General Public License v3.0
관련 토론
아직 관련 토론이 없습니다.
댓글
댓글을 작성하려면 로그인이 필요합니다.