내용은 다음과 같습니다.
< setup.py >
from distutils.core import setup
import py2exe
excludes = [
"pywin",
"pywin.debugger",
"pywin.debugger.dbgcon",
"pywin.dialogs",
"pywin.dialogs.list",
"win32com.server",
]
options = {
"bundle_files": 1,
"compressed" : 1,
"excludes" : excludes,
"dll_excludes": ["python26.dll","w9xpopen.exe"]
}
setup(
option = {'py2exe': options },
windows = [{'script': "ImgOrg.py"}],
zipfile = None,
)
그리고 생성할때는
python.exe setup.py py2exe
라고 쳐서 실행 파일을 만듭니다.
그럼 답변 주세요.
결론부터 말씀 드리면 py2exe만으론 하나의 실행 파일만 나오게 하는 방법은 없는 것 같습니다.
py2exe를 통해서 실행 파일을 만들면
myprog.exe, python??.dll, library.zip, *.pyd, w9xpopen.exe
파일들이 생기는데 (옵션, 파이썬 스크립트 내용에 따라서 생성되지 않는 파일도 있습니다.)
프로그램이 실행되기 위해선 모든 파일이 다 필요합니다. 자세한 내용은 아래 URL을 참고 하시기 바랍니다.
http://www.py2exe.org/index.cgi/FAQ
개인적인 추측은 Python License 때문에 이렇게 처리한게 아닐까? 생각합니다.
하지만 py2exe.org 사이트에서는 NSIS(Nullsoft Scriptable Install System,
http://nsis.sourceforge.net/Main_Page )를 이용해서
하나의 파일로 압축하는 Tip을 제공하는데요. NSIS는 py2exe를 통해서 생성된 파일을 하나의 파일로 묶어주는 역활을 합니
다.
즉 위에서 생성된 파일을 하나의 exe로 압축하고, exe를 실행 시킬 때
temporary 디렉토리에 압축을 풀고 실행파일을 실행시켜주는 역할을 합니다.
자세한 방법은 아래 URL을 참고 하시기 바랍니다.
http://www.py2exe.org/index.cgi/SingleFileExecutable
감사합니다.