20091204 :: py2exe로 단일 실행 파일 만들기

이전에도 한 번 py2exe 모듈을 사용해서 파이썬 스크립트를 실행가능한 exe 파일로 만드는 부분에 대해서, 언급을 한 적이 있지요. 이렇게 py2exe를 사용하여 실행파일을 작성하면 파이썬 인터프리터가 lib 형태로 함께 만들어집니다. 이 것을 하나의 단일 실행 파일로 만드는 방법을 소개하고자 합니다.

py2exe를 사용하여 빌드 스크립트를 작성할 때 option 값 내에 py2exe 부분에 bundlefiles 옵션을 1로 주게되면 모든 파일을 하나로 묶어주게 됩니다. 여기에 zipfile=none 옵션을 주면 이러한 묶어진 파일이 실행 파일 내부로 들어가게 되지요.

이와 별도로 dll 파일들은 실행 파일 내에 포함이 되지 않는 듯 합니다. NSVCR71.dll 파일 같은 경우는 매우 빈번히 dist 디렉토리에 같이 들어가더군요.

아래 예제를 샘플 삼아 작성해 보시면 됩니다.

#-*-coding:utf-8
#setup.py
from distutils.core import setup
import py2exe, sys

sys.argv.append("py2exe")

setup(console=["somefile.py"],
options={
    "py2exe":{
        "packages" : ["pywinauto", "pywinauto.controls", "pywinauto.application"], "bundle_files":1,
        "optimize":2, 
        } 
    }, 
    zipfile = None 
)

Cruithne님이 지적해 주신 코드 내 오타 수정하였습니다. 감사드립니다. (11.07.10)

  • Pingback: 20120224 :: py2exe의 옵션들()

  • Cruithne

    올려주신 py2exe 관련 게시물 두 개로 작업시간을 많이 줄일 수 있었습니다. 고맙습니다.그리고, setup.py 샘플에서 bundle_files 옵션이 bundlefiles로 잘못 쓰여 있어 오류가 납니다.
    수정해주시면 샘플을 이용하는 사람들이 시간을 좀 더 절약할 수 있을 것입니다. ^^