python

한영타 변환기를 만들어보자! [3] (Pyinstaller로 실행파일 만들기)

J-Mook 2022. 7. 4. 15:56
반응형

 

 

한영타 변환기를 만들어보자! [1]

한영타 변환기를 만들기 위해 설계된 기본적인 구조는 이렇게 된다. 첫번째로 영타를 한국어로 변환해 주었다. 각 영타에 대응되는 한국어를 한글자씩 딕셔너리에 넣어주고, 입력된 영타를 읽

jmook.tistory.com

 

한영타 변환기를 만들어보자! [2]

한영타 변환기를 만들어보자! [1] 한영타 변환기를 만들기 위해 설계된 기본적인 구조는 이렇게 된다. 첫번째로 영타를 한국어로 변환해 주었다. 각 영타에 대응되는 한국어를 한글자씩 딕셔너

jmook.tistory.com

 

저번에 UI까지 구성하여 사용자가 쉽게 사용할 수 있도록 만들어보았다.

 

이번에는 파이썬을 모르는 사람도 사용할 수있도록 컴파일하여 한파일로 만들어 볼 것이다.

 

파이썬 관련 지식이 있으신 분들은 파이썬으로 컴파일을 한다는 말이 어색하게 들릴 수 도있다.

Pyinstaller라는 툴을 사용하여 컴파일 해 볼 것이다.

 

pip로 쉽게 설치할 수 있고, 사용법도 간단하다.

pip install pyinstaller

 

우선 pyinstaller를 설치 해주고 아래의 명령어를 치면 dist파일안에 하나의 파일로 만들어 진다. (윈도우 .exe, 맥 .app)

pyinstaller --onefile -w --icon=en2ko_icon.ico en2ko.py -y
  • --onefile : 하나의 파일로 만들어주는 옵션, 이 옵션이 없으면 dist폴더에 exe혹은 app없이  파일이 하나만 생성되는데, 해당 파일은 build폴더가 없으면 실행되지 않는 파일이다. 때문에 이 옵션으로 파일하나로 묶어주면 배포할때 매우 편리하게 사용할 수 있다.
  • -w : 터미널이 열리지 않고 파일을 실행하게 만들어주는 옵션이다. (디버깅 목적이 아니라면 굳이 터미널을 킬 이유는 없을것이다.)
  • --icon : 아이콘을 지정해 주는 옵션이다. (윈도우에서는 잘 작동하는 것 같은데 맥환경에서는 재대로 작동하지 않는듯하다.)
  • -y : pyinstaller를 실행하면 컴파일 하겠냐는 질문이 중간에 한번 뜬는데 자동으로 yes를 입력해주는 옵션이다.

 

내가 필요한건 실행파일 한개인데, 실행될때마다 build폴더, dist폴더, .spec파일이 생성되면서 지저분해지기 때문에 make.sh 라는 쉘 스크립트 파일로 자동화 하였다.

  1. pyinstaller 실행
  2. dist폴더에서 실행파일 밖으로 꺼내기
  3. build폴더, dist폴더, .spec 삭제
CURDIR=$(pwd)
pyinstaller --onefile -w --icon=/$CURDIR/src/en2ko_icon.ico /$CURDIR/en2ko.py -y
rm -f $CURDIR/dist/en2ko
cp -r $CURDIR/dist/$(ls $CURDIR/dist/) $CURDIR/
rm -r -f build dist en2ko.spec

 

위 스크립트 파일을 실행하면 실행파일만 추출되고 나머지는 삭제된다! (깔-끔)

 

https://github.com/J-Mook/en2ko

 

GitHub - J-Mook/en2ko

Contribute to J-Mook/en2ko development by creating an account on GitHub.

github.com

 

반응형