Windows 64 bit 에서 Python 단일 EXE 파일 만들기

 

 

파이썬으로 작성한 프로그램은 파이썬 인터프리터가 설치되어 있고, 해당 프로그램 내에서 사용된 모듈이 설치되어 있는 환경에서만 실행이 가능하기 때문에 추후에 환경이 바뀌었을 때 사용이 용이하지 않고 배포가 어렵다는 단점이 있다.

 

이러한 단점을 보완하기 위해 파이썬 실행 환경과 사용된 모듈 그리고 소스를 한대 묶어서 EXE파일로 만들어주는 여러가지 프로그램이 존재한다.

 

이러한 패키징 프로그램은 py2exe, cxfreeze, PyInstaller 등 여러가지 종류가 있지만 다음과 같은 이유로 인해 PyInstaller을 선택하였다.

 

- 사용하기가 매우 간단함

- 윈도우 64비트 에서 단일 실행파일을 만들 때 오류가 나지 않음

- PyQt등과 같은 GUI모듈을 사용한 경우에도 오류 없이 잘 동작함

 

 

py2exe의 경우 64비트 윈도우에서 단일 파일을 만들 때 다음과 같은 오류가 발생한다...

> bundle-files 1 not yet supported on win64

 

cxfreeze의 경우에는 PyQt와 같은 모듈 사용시 제대로 포함을 못시켜주는 것 같다...

 

 

 

 

그럼 이제 설치하여 사용해보자.

 

 

설치

 

PyInstaller : http://www.pyinstaller.org/

 

위 URL에 들어가서 우측 중간에서 파일을 다운로드 한다.

 

 

 

다운로드한 zip파일의 압축을 풀고, 나온 폴더로 들어가서 현재 위치의 console창을 연다.

( Shift + 우클릭을 하면 현재 위치에서 console 창을 열 수 있다. )

 

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

 

 

console창에 다음과 같이 입력하여 PyInstaller을 설치한다.

 

C:\Users\User\Downloads\PyInstaller-2.1\PyInstaller-2.1> python setup.py install

 

 

 

사용

 

EXE로 만들기를 원하는 파이썬 스크립트가 있는 곳에서 console창에 다음과 같이 명령을 실행한다.

 C:\miniproject> pyinstaller.exe xxx.py

 

​단일 파일로 만들기를 원하는 경우 다음과 같이 -F 옵션을 추가하면 된다. 

 C:\miniproject> pyinstaller.exe -F xxx.py

 

​GUI 프로그램의 경우, 실행 시 console 창을 숨기고 싶으면 다음과 같은 옵션을 추가한다. 

 C:\miniproject> pyinstaller.exe -F --noconsole xxx.py

 

 

 

​실행이 정상적으로 완료되면 build와 dist 폴더가 생성된다.

 

단일 파일 옵션(-F)을 주었을 경우 dist 폴더에 있는 EXE 파일만 있으면 언제든지 실행이 가능하다!

 

 

 

주의점

 

파일 오픈 등을 통해 다른 파일을 참조하는 프로그램일 경우 해당 파일을 배포시 꼭 함께 넣어줘야 한다.

 

 

[출처] http://blog.naver.com/PostView.nhn?blogId=powerhw&logNo=220129455855&parentCategoryNo=&categoryNo=43&viewDate=&isShowPopularPosts=false&from=postView

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
24 [파이썬으로 구현한 알고리즘] (4) 버블 정렬(Bubble Sort) file 졸리운_곰 2018.02.27 679
23 [파이썬으로 구현한 알고리즘] (3) 선택 정렬(Selection Sort) file 졸리운_곰 2018.02.27 549
22 [파이썬으로 구현한 알고리즘] (2) 스택/큐 (Stack/Queue) file 졸리운_곰 2018.02.27 607
21 [파이썬으로 구현한 알고리즘] (1) 연결 리스트(Linked List) file 졸리운_곰 2018.02.27 946
20 텍스트 마이닝 4편. 형태소 분석(1/3) 졸리운_곰 2018.02.18 2013
19 텍스트 마이닝 3편. 형태소 분석 사전작업 졸리운_곰 2018.02.18 761
18 텍스트 마이닝 2편. 텍스트 파일 file 졸리운_곰 2018.02.18 1199
17 텍스트 마이닝 1편. 소개 file 졸리운_곰 2018.02.18 913
16 파이썬으로 MySQL DB에 데이터 저장하기, Python handles transactions with MySQL file 졸리운_곰 2018.02.14 469
15 공공 데이터 csv 파일로 저장하기 [3] 졸리운_곰 2017.10.10 663
14 공공 데이터 csv 파일로 저장하기 [2] 졸리운_곰 2017.10.10 559
13 공공 데이터 csv 파일로 저장하기 [1] 졸리운_곰 2017.10.10 517
12 JSON 데이타 가을의곰 2017.06.18 595
11 python으로 json 파일 쉽게 파싱하기 가을의곰 2017.06.18 779
10 Python에서 SQLAlchemy로 MS-SQL 연동하기 졸리운_곰 2017.05.07 439
9 python에서 sqlite 사용법 file 졸리운_곰 2017.04.26 876
8 Python의 pandas를 사용하면 몇줄의 코드만으로 Data Analysis를 쉽고 강력하게 처리할 수 있다 file 졸리운_곰 2017.03.05 648
7 파이썬으로 XML 처리하기 졸리운_곰 2016.11.15 388
6 SQLAlchemy 시작하기 졸리운_곰 2016.06.11 948
5 SQLAlchemy 시작하기 – Part 2 졸리운_곰 2016.06.11 539
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED