AiPE

Python 패키지 Pyinstaller로 실행파일(.exe) 만드는 법 본문

[XiBBaL] Development Project/Etc.

Python 패키지 Pyinstaller로 실행파일(.exe) 만드는 법

Oshimaker XiBBaL 2023. 1. 29. 19:45
반응형

1. 설치

cmd에서 작업한다.

pip install pyinstaller

 

 

 

2. 개념

Pyinstaller의 조작은 cmd에서 한다. 관리자권한은 필요 없다.

 

.exe로 만들고 싶은 .py파일과 .exe파일의 아이콘으로 쓰고 싶은 .ico파일을 같은 폴더 내에 둬야 한다.

  1. Pyinstaller는 .py 파일 내에 쓰인 다른 패키지/라이브러리/모듈을 자동으로 읽어 같이 .exe파일로 만들어준다. 사용자는 그냥 .exe로 만들고싶은 .py파일을 pyinstaller로 열어주기만 하면 된다.
  2. 기본적으로는 프로그램 구성 요소가 .exe파일 외에도 몇 가지 생성되지만, 원한다면 .exe파일 하나으로도 만들 수 있다. 쓰인 라이브러리가 적으면 상관 없지만 대부분의 경우 용량이 너무 커지므로 추천하지는 않는다. (특히 conda 로 numpy나 pandas를 설치하면 용량이 매우 커진다.)
  3. 완성된 .exe파일의 아이콘은 기본적으로는 수정할 수 없다. 꼭 수정해야 한다면 .exe파일의 아이콘 잠금을 해제해 아이콘을 수정하는 방법이 있지만, 귀찮으므로 처음 만들 때 잘 하자. 아이콘 파일은 꼭 .ico 확장자여야 한다. 다른 형식이라면 https://convertio.co/kr/png-ico/ 에서 바꿔주도록 하자.

 

 

 

3. 사용

  1. cmd에서 .exe로 만들고싶은 .py파일의 경로로 이동한다. cd명령어를 이용하자.
  2. 원하는 옵션에 적절한 명령어를 입력한다.
pyinstaller --icon=iconname.ico -F -w --add-data="test.txt;" --hidden-import="library" pyfilename.py

 

--icon : .exe파일의 아이콘을 지정한다. 경로를 지정하지 않으면 .py파일과 같은 경로로 인식한다. "--icon=./folder1/아이콘이름.ico"와 같이 상대경로로 지정할 수도 있다.

 

-F : 파일을 .exe파일 하나만으로 실행할 수 있게 한다. 용량이 커지면 사용하지 말자.

-onefile : -F와 같은 기능

 

-w : noconsole옵션을 켠다. 파이썬에서 GUI가 동작하게 해 두었다면 쓰자. 콘솔창(터미널창)이 출력되지 않는다.

-noconsole : -w와 같은 옵션

-windowed : -w와 같은 옵션

 

--add-data : 코딩할때 따로 사용한 파일을 같이 묶어준다. 예를 들어 파이썬 코드가 test.txt를 읽는 코드라면, test.txt가 없으면 제대로 작동하지 않을 것이다. 이 때 --add-data로 test.txt파일을 같이 묶어주면 된다. 상대경로로도 지정 가능하다. --add-data="file1.txt" --add-data="file2.txt" 처럼 2번 이상 연속으로 사용할 수 있다.

 

--hidden-import : 다른 파이썬 모듈을 import 해 같이 묶는다. 사실 잘 안쓴다.

 

마지막에는 .exe로 만들고싶은 .py이름을 적으면 된다.

 

반응형