▷ 도전/▷ Coding

pyinstaller 사용법

wHatsyUP 2023. 5. 23. 15:15
728x90


1. --name: 생성될 실행 파일 이름 지정


pyinstaller main.py --name=hello-world

위 명령어를 실행하면, `hello-world`라는 이름의 실행 파일이 생성됨.


2. --onefile: 하나의 실행 파일 생성


하나의 실행 파일로 묶어주는 옵션.

pyinstaller main.py --onefile

위 명령어를 실행하면, `dist` 폴더 안에 `main.exe`와 함께 필요한 파일들이 한 파일로 묶여져 `main.py`와 동일한 디렉토리 구조로 생성.


3. --onedir: 하나의 디렉토리에 실행 파일 생성


하나의 디렉토리에 실행 파일을 넣어주는 옵션.

pyinstaller main.py --onedir

위 명령어를 실행하면 `dist` 폴더 안에 `main`이라는 이름의 디렉토리가 생성되고, 그 안에 실행파일과 필요한 파일들이 저장.


4. --windowed: 창 없는 실행 파일 만들기


창 없이 실행되는 프로그램을 만들 때 사용하는 옵션.

pyinstaller main.py --windowed

위 명령어를 실행할 경우, 창 없이 실행되는 프로그램이 생성.


5. --console: 콘솔 환경에서 실행 파일 만들기


콘솔에서 실행되는 프로그램을 만들 때 사용.

pyinstaller main.py --console

위 명령어를 실행하면, 실행파일이 콘솔 환경에서 실행되는 창이 나타남.

6. --icon: 실행 파일의 아이콘 지정


만들어진 실행 파일에 아이콘을 설정할 수 있는 옵션.

pyinstaller main.py --icon=icon.ico

`--icon` 뒤에 아이콘의 경로 및 이름을 지정.

7. --add-data: 실행 파일과 함께 복사될 파일 또는 디렉토리 추가


실행 파일에 포함시킬 추가 파일이나 디렉토리 경로를 지정할 수 있음.

pyinstaller main.py --add-data=README.md;. --add-data=data:data

`--add-data` 뒤에 추가 파일의 경로를 지정하며, `;` 구분자를 이용해 여러개 지정할 수 있음. 예를 들어, `README.md`와 `data`라는 디렉토리를 추가할 경우, `--add-data=README.md;. --add-data=data:data`와 같은 명령어를 사용.

8. --exclude-module: 제외할 모듈 지정


번들링하면서 제외할 모듈을 지정할 수 있음.

pyinstaller main.py --exclude-module=tkinter -exclude-module=matplotlib

`--exclude-module` 옵션을 이용해 `tkinter`와 `matplotlib` 모듈을 제외할 경우, 위와 같이 명령어를 사용.

9. --hidden-import: 추가해야 할 임포트 패키지 지정


PyInstaller는 모든 모듈과 패키지를 찾아,d 소스코드나 바이너리 포함하는 실행 파일을 만드는데 사용된 모든 라이브러리에 대한 내용을 추적할 수 없기 때문에 유용한 옵션이다. 명시적으로 import가 없는 모듈이나 패키지를 잡지 못할 때 이 옵션을 이용하여 import를 해오는 옵션이다.

pyinstaller main.py --hidden-import=some.module.name

`--hidden-import` 옵션을 이용해 `some.module.name`모듈을 추가할 경우, 위와 같은 명령어를 사용.

10. --upx: UPX 압축 적용 여부 지정


UPX (Ultimate Packer for eXecutables)는 실행 파일을 압축하는 무료 오픈 소스 도구.

pyinstaller main.py --upx

`--upx` 옵션을 이용하여 압축 적용하고자 할 경우, 위와 같은 명령어를 사용.

728x90