오늘은~ 파이썬에서 프로그램을 만들어 실행 파일, 설치 파일을 만들어 배포했을 때 사용했던 프로그램들을 소개하려고 한다^_^
이번 포스팅에서는
- pyinstaller
- NSIS
- HM NIS Edit
이렇게 세가지 프로그램을 다룰 예정이며
pyinstaller는 설치방법 + 사용법을 모두 다루고
NSIS와 HM NIS Edit은 지난 포스트에서 설치가 완료되었다는 가정 하에 순차적으로 사용법을 기록할거다..!
# NSIS와 HM NIS Edit 설치방법 참고
https://eastcold.tistory.com/21?category=941604
"""
개발 환경
Window(x64)
IDE : Pycharm
Python Version : 3.8.10
"""
pyinstaller란?
pyinstaller는 파이썬과 PyQt로 제작한 GUI 프로그램을 간단하게 실행파일(exe)로 만들어주는 프로그램이며
실행파일은 파이썬이 설치되어 있지 않은 PC에서도 프로그램이 실행될 수 있도록 해준다
다른 실행파일 제작 프로그램이 있긴 하나,
파이썬에서는 pyinstaller를 많이 사용하고 편한 것 같아서 평소에 자주 사용했다!
설치
1. Pyinstaller 세팅
pyinstaller를 설치하기 위해서는 CMD 명령어창에서 다음과 같이 입력한다
# 설치
pip install pyinstaller
# 설치 및 버전 확인
pyinstaller --version
이후 파이참에서 ctrl + alt + s 를 입력하여 Settings창을 켜주고
Python Interpreter에서 pyinstaller가 정상적으로 설치된 것을 확인해준다!
이후 Tools - External Tools에서 pyinstaller를 추가한다!
Name과 Tool Settings의 값들을 추가해주면 되는데
Name은 임의로 기입하면 되고
Program은 pyinstaller.exe의 위치를 적어주면 된다. 보통 Python/Scripts에 있는 것 같다!
Arguments는 아래에 상세히 설명할거고
Working directory는 작업하고 있는 폴더를 넣어주면 된다!
좌측 하단 이미지는 실제 사용한 Argument인데 사실 여기서 말고도 굳이 여기서 할 필요는 없고
본인 프로젝트 폴더에 가서 보면 'Main파일명.spec' 파일이 존재한다. 거길 들어가보면 우측 하단과 같이 나오는데
본인이 편한 곳에서 내용을 기입하거나 수정해주면 된다.
근데 Spec 파일에 관련된 내용은 많아서 Argument로 작성하는 방법을 쓰겠다..! (사실 이게 난 더 편하다^_^)
# 주석으로 설명할테니 필요한 부분만 추가하면 된다~!
-y # 프로그램 생성시 CMD명령어 창이 디스플레이됨. 없애고 싶다면 -w로 설정
--uac-admin # 관리자 권한으로 실행하는 프로그램을 만들기 위한다면 추가하기
--add-data
T-gear_Guide/*.docx;T-gear_Guide/.
--add-data # 데이터를 추가할 때 기입하는 명령어
ui/*.png;ui/. # ui폴더에 있는 png파일을 모두 추가하고 파일명은 모두 동일하게 설정
--add-data
ui/*.ui;ui/.
--add-data
T-gear.ico;. # 이것처럼 일반 파일도 특정해서 추가할 수 있다
-i=T-gear.ico # 아이콘 설정
--hidden-import=pydicom.encoders.gdcm # 원하는 라이브러리 추가
--hidden-import=pydicom.encoders.pylibjpeg
T-gear.py # 생성하고자 하는 파일명
Argument 작성이 되고 External Tools에 추가되었다면
Main.py 파일을 우클릭-External Tools- pyinstaller 클릭한다!
Terminal창에 빌드가 완료되었다는 메시지가 출력되면 dist폴더 안에 실제 배포할 수 있는 폴더(dist/Main)가 생성되어 있을 것이다!
2. HM NIS Edit 세팅
이제 HM NIS Edit에서 Ctrl + W를 입력하거나 빨간 네모에 있는 '스크립트 작성 마법사' 버튼을 눌러 스크립트를 작성한다!
프로그램 이름과 버전, 배포자, 웹사이트 등의 정보를 입력해준다. 웹사이트는 공백이어도 되는듯!
설치 아이콘을 설정해주고 설치 파일의 이름을 명명해준다..!
다른 것은 설정하지 않아도 된다
프로그램 설치시 설치되는 경로를 설정해주고, 라이센스 파일을 추가해준다!
라이센스 파일은 txt파일 등으로 첨부가 가능하지만 본인은 추가하지 않고 진행하겠다!
다음으로 설치할 파일을 추가해주는데 기본적으로 2개 파일이 추가되어있으니
이것들을 X 버튼(1번 빨간네모)을 눌러 모두 삭제해준다.
그 후 트리 버튼(2번 빨간네모)을 클릭해준다.
SelectDirectory에서 아까 Pyinstaller에서 빌드했던 'dist/Main폴더명'을 추가해준다..!
일일이 들어가서 찾기 귀찮아서 '파일 탐색기'에서 주소를 복붙해줬다^^
그럼 아래와 같이 필요한 파일들이 모두 추가되는 것을 확인하고 다음 클릭!
이후 아래 이미지와 같은 창이 나올 때까지 모두 기본값에서 변경하지 않고 계속 '다음' 클릭..!
마법사를 완료했을 때, '스크립트 저장'만 체크한 후 완료 버튼 클릭하면 된다.
나는 바탕화면에 Main파일을 저장했다
2. NSIS 세팅
마지막으로 NSIS를 켜서 위에서 만든 Main.nsi 스크립트 파일을 컴파일해주려고 한다
Complie NSI scripts 클릭!
이제 빨간 버튼 Load Scripts 버튼을 클릭하여 좀 전에 만든 Main.nsi 파일을 컴파일해주자!
컴파일이 정상적으로 완료되었다면 Titlebar에 Finished Successfully 메시지와 함께 연두색으로 디스플레이되고
비정상적으로 완료되었다면 분홍색으로 디스플레이되고 Test Installer시 오류가 발생하게 된다!
그리고 평소에 우리가 보는 Setup 실행파일이 정상적으로 설치되어 있는 것과
실행시 익숙한 설치창이 켜지는 것을 확인할 수 있다!! ^_^
오늘은 이전에 작성했던 HM NIS Edit과 NSIS, 그리고 Pyinstaller를 활용하여
파이썬으로 설치 및 실행 프로그램을 만들어 보았다
순서가 좀 복잡한 것 같지만 한두번 해보면 금방 익숙해지는 것 같다 ^_^
'[ 개발 ] > Python' 카테고리의 다른 글
[Python] 숫자/문자인지 구별하는 함수 (isalpha, isalnum, isnumeric, isdigit, isdecimal) (0) | 2022.11.13 |
---|---|
[Python] flatten 함수 recursion으로 구현하기 (0) | 2022.10.20 |
[Python] ''.join(iterable)함수 정리 (0) | 2022.03.30 |
[Python] *args & **kwargs 정리 (0) | 2022.03.26 |
[Python] mritopng(dcmtojpg) 변환기 (1) | 2021.11.15 |