신규 블로그를 만들었습니다!
Python 실행 파일(exe) 만들기
매번 .py로 실행하기 번거로워서 .exe 실행파일로 만들었습니다. exe 파일을 만드는 방법은 여러가지 많지만, 여러 방법 중 하나인 pyinstaller 모듈을 이용한 exe 파일 만드는 방법을 포스팅 했습니다.
실행환경
운영체제 : window 10
파이썬 버전 : python 3.7
pyinstaller 설치
pip를 이용하면 간단하게 설치 할 수 있습니다.
커맨드 명령어
>> pip install pyinstaller
C:\Users\75385\Desktop>pip install pyinstaller
Collecting pyinstaller
Downloading https://files.pythonhosted.org/packages/03/32/0e0de593f129bf1d1e77eed562496d154ef4460fd5cecfd78612ef39a0cc/PyInstaller-3.4.tar.gz (3.5MB)
100% |████████████████████████████████| 3.5MB 3.3MB/s
Installing build dependencies ... done
Requirement already satisfied: setuptools in c:\users\75385\appdata\local\programs\python\python37-32\lib\site-packages (from pyinstaller) (40.6.2)
Collecting pefile>=2017.8.1 (from pyinstaller)
Downloading https://files.pythonhosted.org/packages/ed/cc/157f20038a80b6a9988abc06c11a4959be8305a0d33b6d21a134127092d4/pefile-2018.8.8.tar.gz (62kB)
100% |████████████████████████████████| 71kB 5.2MB/s
Collecting macholib>=1.8 (from pyinstaller)
Downloading https://files.pythonhosted.org/packages/41/f1/6d23e1c79d68e41eb592338d90a33af813f98f2b04458aaf0b86908da2d8/macholib-1.11-py2.py3-none-any.whl
Collecting altgraph (from pyinstaller)
Downloading https://files.pythonhosted.org/packages/0a/cc/646187eac4b797069e2e6b736f14cdef85dbe405c9bfc7803ef36e4f62ef/altgraph-0.16.1-py2.py3-none-any.whl
Collecting pywin32-ctypes (from pyinstaller)
Downloading https://files.pythonhosted.org/packages/9e/4b/3ab2720f1fa4b4bc924ef1932b842edf10007e4547ea8157b0b9fc78599a/pywin32_ctypes-0.2.0-py2.py3-none-any.whl
Collecting future (from pefile>=2017.8.1->pyinstaller)
Downloading https://files.pythonhosted.org/packages/90/52/e20466b85000a181e1e144fd8305caf2cf475e2f9674e797b222f8105f5f/future-0.17.1.tar.gz (829kB)
100% |████████████████████████████████| 829kB 5.0MB/s
Installing collected packages: future, pefile, altgraph, macholib, pywin32-ctypes, pyinstaller
Running setup.py install for future ... done
Running setup.py install for pefile ... done
Running setup.py install for pyinstaller ... done
Successfully installed altgraph-0.16.1 future-0.17.1 macholib-1.11 pefile-2018.8.8 pyinstaller-3.4 pywin32-ctypes-0.2.0
설치가 완료되었습니다.
exe 파일 만들기
테스트용 test.py 만들기
import datetime
if __name__ == "__main__" :
print("Start.")
cur_time = datetime.datetime.now()
print("Current time : %s" % cur_time)
print("End.")
현재 시간을 출력해주는 간단한 프로그램입니다.
test.py가 있는 디렉토리로 이동하여, pyinstaller 명령어를 입력해줍니다.
>> pyinstaller --onefile test.py
참고로 --onefile 이라는 옵션을 넣어주면, 하나의 실행파일로 생성이 됩니다. (참고로, --noconsole 옵션을 넣어주면 콘솔창이 뜨지 않고 실행이 됩니다.)
실행 결과
명령어를 실행하면, 이와같이 dist, build 등 여러개의 파일이 생성됩니다.
dist 폴더로 들어가보면, 아래와 같이 실행파일(test.exe)이 생성된것을 확인 할 수 있습니다.
더블 클릭하여 실행할 수 도 있고, cmd로 확인할 수도 있습니다.
실행 결과가 너무 빨라서 사진을 찍기 힘들어, cmd를 이용하여 실행 해봤습니다.
참고 - 실행파일에 이미지 넣기
실행파일의 아이콘을 바꾸고 싶다면, 실행파일로 빌드하는 명령어에 --icon 옵션을 추가해줍니다.
>> pyinstaller --icon=test.ico --onefile test.py
그리고 옵션값에 원하는 이미지의 경로를 넣어줍니다. 이미지의 포맷은 ico이어야 합니다.
(https://icoconvert.com/ 해당 사이트에서 ico 이미지로 convert 가능합니다.)
실행파일이 이쁘게 잘 만들어졌습니다.
혹시 예제 이미지(.ico) 파일이 필요하신분은 아래링크를 통해 다운로드 받을 수 있습니다.
==== 2020.01.01 수정 ====
새해 첫날부터 이상한분이 오셔서 찰지게 욕을 날려주시고 가시네요.
pip는 파이썬 3.4버전 이상부터 지원해줍니다. 그래서 버전을 높이거나, https://pypi.org/ 에서 수동으로 다운받아 site-packages
에 pyinstaller
모듈을 넣어주시면 됩니다.
- 3.4 이상 버전:
pip
를 이용하여 모듈 다운로드 - 3.3 이하 버전: 수동으로 모듈을 다운받아 파일을
c:\Python33\Lib\site-package\Lib\site-packages
에 넣어주세요.
그리고 마지막으로...
안된다고 열받아서 다른분들께 욕설은 하지말아주세요. 최소한 pip에 대해 검색 정도는 해보고 댓글 달아주시는게 맞지 않나 싶어요.
익명이라고 너무 막말하시는거 같은데, 이번에는 욕설 신고만 했고 댓글 삭제 처리했습니다. 관리자 페이지에서는 댓글달아주신 분의 IP가 일부 보인다는 점 참고해주세요.
부모님 안부인사 감사드리고 앞으론 예의있는 모습 보여주시길 기대할께요
======= 2021.01.03 수정 =======
모두들 감사드립니다.
블로그를 이전해서, 관리를 못하고 있었는데 댓글이 굉장히 많아졌네요...^^;
요즘은 새로운 블로그만 운영하고 있어서, 앞으로도 이 블로그는 관리가 소홀해질거 같아요.
memostack.tistory.com/ 에서 계속 글 올리겠습니다. 감사합니다.
다른 글
2018/12/13 - [Language/Python] - 파이썬 OpenCV 설치부터, 이미지 비교(피처매칭, Feature Matching)
2018/12/27 - [Language/Python] - 파이썬의 @property 개념 및 사용방법(접근지정자와 GET, SET 메소드)
2018/12/27 - [MAC OS] - 맥북 와이파이(Wi-Fi) "설치된 하드웨어 없음" 해결방법
2019/01/06 - [MAC OS] - 맥북 간단하고 쉽게 포맷하기(MAC OSX)
'Language > Python' 카테고리의 다른 글
파이썬의 @property 개념 및 사용방법(접근지정자와 GET, SET 메소드) (0) | 2018.12.27 |
---|---|
파이썬 OpenCV 설치부터, 이미지 비교(피처매칭, Feature Matching) (1) | 2018.12.13 |
Python :: 파이썬3 디렉토리 및 파일 삭제, os 모듈과 shutil 모듈 사용하기 (0) | 2018.10.26 |
Python :: 파이썬에서 private과 public 변수 사용하기(파이썬의 범위 scope) (0) | 2018.10.21 |
Python :: 파이썬 집합 자료형 Set, 중복제거할때나 집합형태에 편리한 Set (0) | 2018.10.19 |
최근댓글