Please Enable JavaScript!
Gon[ Enable JavaScript ]

파이썬(Python) Pyinstaller 로 exe 실행 파일 만드는 방법

파이썬 Python
반응형

윈도우에서 실행할 GUI 화면을 만든다면 PyQt5 라이브러리를 많이 사용합니다. 완성된 프로그램을 배포하거나 실행하고자 할 때 파이썬이 설치되어 있지 않은 곳이면 어떻게 해야 할까요? 윈도우라면 exe 프로그램을 만들어서 단독 실행이 가능하도록 만들어야 합니다. python 파일을 exe 실행파일로 변환할 수 있는 대표적인 라이브러리가 pyinstaller 입니다.

 

 

먼저 pip 를 이용해서 pyinstaller 을 설치합니다. 명령어는 다음과 같습니다. 2018419일 기준으로 최신버전은 3.3.1 입니다.

 

> pip install pyinstaller
Collecting pyinstaller
  Downloading
….
Successfully installed altgraph-0.15 future-0.16.0 macholib-1.9 pefile-2017.11.5 pyinstaller-3.3.1 pypiwin32-223 pywin32-223
You are using pip version 9.0.1, however version 10.0.0 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.
 
> pyinstaller --version
3.3.1

 

PyQt5 로 만든 python 소스 파일을 exe 로 변환해 보겠습니다. 명령어는 간단합니다. pyinstaller 뒤에 파라미터로 파일을 넘깁니다.

 

> pyinstaller pyqt5_default.py
103 INFO: PyInstaller: 3.3.1
104 INFO: Python: 3.5.1
……
D:\Project\Python\workspace\chrower\build\pyqt5_default\pyqt5_default.exe
8386 INFO: Building EXE from out00-EXE.toc completed successfully.
9755 INFO: Building COLLECT out00-COLLECT.toc completed successfully.

 

파일은 build 폴더에 만들어 집니다. exe 파일은 콘솔에서 실행해야 합니다. 일반적인 exe 프로그램처럼 더블 클릭하면 화면에서 사라집니다.

파이썬(Python) Pyinstaller 로 exe 실행 파일 만드는 방법

 

 

exe 프로그램을 더블 클릭해서 실행하고 싶다면 콘솔 창이 출력되지 않도록 옵션을 조절해야 합니다. 명령어는 다음과 같습니다.

 

--onefile : exe 파일 하나만 생성합니다.
--windowed : 콘솔 창을 출력하지 않습니다.
 
> pyinstaller --windowed --onefile  pyqt5_default.py

 

좀더 상세한 옵션은 다음과 같습니다.

옵션 설명
--onefile 실행파일 하나만 생성
--onedir 다렉토리 하나만 생성
--tk TCL/TK 인터페이스 포함
--windowed, --noconsole 실행할 때 도스창을 열지 않음
--nowindowed, --console 도스창을 사용함
--strip exe 라이브러리들을 Strip 로 실행
--upx UPX 를 설치한 경우 실행파일 압축
--out -o DIR 로 해당 경로에 파일 생성
--paths -p DIR 로 해당 경로의 path 사용
--icon 실행파일 아이콘 선택

 

 

--windowed --onefile 두 옵션을 적용한 결과는 다음과 같습니다. --onefile 을 적용한 결과 하나의 실행 파일만 생성되었습니다

 

파이썬(Python) Pyinstaller 로 exe 실행 파일 만드는 방법

 

 

 

다음은 exe 파일을 더블 클릭해 보세요. 그림처럼 콘솔이 실행되지 않고 바로 화면이 사라지지 않습니다. --windowed 옵션을 적용한 결과 입니다

 

파이썬(Python) Pyinstaller 로 exe 실행 파일 만드는 방법

 

 

반응형
Posted by 녹두장군1
,