Study
py2exe - Python 파일을 Windows 실행 파일로 만들기
bslime
2010. 7. 22. 11:32
그런데 매번 실행할때마다
c:\>python 프로그램.py
형식으로 입력하기 귀찮은데다가 매번 프로그램이 있는 경로를 적어주는게 너무 불편해서
좀더 편하게 실행할수 있는 방법이 뭐가 있을까 하다가 찾아낸 프로그램입니다.
일단 py2exe를 다음 링크에서 자신이 사용하는 파이썬(Python) 버전에 맞는걸 다운로드 해서
설치를 해줍니다.
py2exe : [ http://sourceforge.net/projects/py2exe/files/ ]
이 프로그램을 사용하기 위해서는 기본적으로 파이썬(Python)이 PATH로 지정이 되어있어야합니다.
내컴퓨터 (또는 컴퓨터) -> 속성 -> 고급 시스템 설정 -> 환경변수
PATH 항목에 파이썬(Python)이 설치되어있는 디렉토리를 추가해줍니다.
이제 exe 파일로 만들어줄 파이썬(Python) 프로그램이 있는 디렉토리에
setup.py 파일을 작성해줍니다.
변경하고자 하는 파일이름이 renamefile_0.5.py라 할경우
from distutils.core import setup
import py2exe
setup(console=['renameFile_0.5.py'],)
요런식으로 작성하신뒤 저장합니다.
이제 CMD 창을 여신뒤
c:\변환하고자하는 프로그램경로>python setup.py py2exe
명령을 입력합니다.
CMD창에 이미지처럼 실행이 되면서 build와 dist 디렉토리가 생성이 됩니다.
dist 디렉토리에 가보시면 변환이 완료된 파일들이 있는데 그 파일들중에서
python26.dll외에 다른 파일은 지워도 상관이 없습니다.
library.zip
renameFile_0.5.exe
이렇게 변환된 프로그램을 저같은 경우에는 bin이라는 디렉토리를 하나 만들고
그곳에 복사해둔뒤 PATH에 저 bin 디렉토리를 추가해준뒤
CMD에서 프로그램파일명만 입력하는것으로 실행해서 사용중에 있습니다.
※ 이 포스팅을 하는 이유는 절대로 제가 저 py2exe 사용법을 자꾸 까먹어서는 절대로 아닙니다. =_=
/* 아래처럼 설정 하면 EXE 파일 하나만 생성된다고 합니다. */
# 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, # create singlefile exe
"compressed": 1, # compress the library archive
"excludes": excludes,
"dll_excludes": ["w9xpopen.exe"] # we don't need this
}
setup(
options = {"py2exe": options},
zipfile = None, # append zip-archive to the executable.
console = ["py_to_exe.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, # create singlefile exe
"compressed": 1, # compress the library archive
"excludes": excludes,
"dll_excludes": ["w9xpopen.exe"] # we don't need this
}
setup(
options = {"py2exe": options},
zipfile = None, # append zip-archive to the executable.
console = ["py_to_exe.py"]
)
출처 - http://jjoon.net/tc/100?category=17