본문으로 건너뛰기

트렌딩 - GitHub 인기 레포 & HuggingFace 모델

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에는 정량 벤치마크나 패키징 성공률이 없으므로 성능 우위를 수치로 판단하기보다는 실제 프로젝트를 시험 빌드한 뒤 도입하는 편이 안전합니다.

이미지 분석

QPyPack 2.7.0의 영어 시작 화면으로, Python 소스 코드를 드래그 앤 드롭 영역에 넣고 `Start Build` 버튼으로 빌드를 시작하는 구조입니다.
화면 중앙의 드래그 영역과 하단의 빌드 버튼이 핵심 작업 흐름을 단순화하며, 별도의 명령줄 입력 없이 Python 패키징을 시작하게 구성되어 있습니다. README가 말하는 GUI 중심의 PyInstaller·Nuitka 패키징 방식과 직접 연결되는 화면입니다.
QPyPack 2.7.0의 중국어 시작 화면으로, 동일한 드래그 앤 드롭 입력과 `开始构建` 빌드 버튼을 중국어 UI로 표시합니다.
영어 화면과 동일한 구성에서 주요 안내 문구와 버튼이 중국어로 바뀌어 다국어 UI를 지원한다는 점을 확인할 수 있습니다. README에 기재된 중국어·영어·일본어·한국어·독일어·프랑스어 등 다국어 전환 기능을 뒷받침합니다.
QPyPack의 빌드 설정 화면으로, PyInstaller와 Nuitka 중 빌드 엔진을 선택하고 Python 인터프리터, 출력 이름, 애플리케이션 아이콘, 단일 파일 및 콘솔 숨김 옵션을 설정합니다.
화면에는 Nuitka 엔진과 Python 3.14.6 인터프리터가 선택되어 있으며, Python 3.14의 Windows·macOS·Linux 지원 상태와 Nuitka에 필요한 MSVC·Clang·Zig 조건이 함께 표시됩니다. 실행 모드에서 `--onefile`과 `--noconsole`에 해당하는 옵션을 직접 조정할 수 있어 README의 엔진 전환과 배포 모드 설정을 구체화합니다.
QPyPack의 의존성 관리 화면으로, 주·보조 PIP 미러, `requirements.txt`, hidden imports, 제외 모듈, 가상 환경, pipreqs 의존성 검사와 requirements 설치 옵션을 제공합니다.
화면에는 Tsinghua University PIP 미러와 Alibaba Cloud 미러가 선택지로 표시되고, AST 스캔 버튼과 전체 폴더 스캔 옵션이 배치되어 있습니다. 이는 requirements 파일과 AST·pipreqs를 결합해 숨은 의존성을 보완한다는 README의 의존성 처리 흐름과 일치합니다.

98

Stars

9

Forks

+204

Trending

0

조회수

98 watchers1 open issuesGNU General Public License v3.0

관련 토론

아직 관련 토론이 없습니다.

댓글

댓글을 작성하려면 로그인이 필요합니다.