프로그래밍 언어 입문서가 아닌 프로그래밍 기초 개념 입문서
문과생, 비전공자를 위한 프로그래밍 입문책입니다.
jobGuid 꽃미남 프로그래머 "Pope Kim"님의 이론이나 수학에 치우치지 않고 실무에 곧바로 쓸 수 있는 실용적인 셰이더 프로그래밍 입문서 #겁나친절 jobGuid "1판의내용"에 "새로바뀐북미게임업계분위기"와 "비자관련정보", "1판을 기반으로 북미취업에 성공하신 분들의 생생한 경험담"을 담았습니다.
Posted by 친절한티스

요즘 파이썬을 만지작 거리며 재미를 붙이고 있는 친절한티스입니다. 요게 쓰면 쓸수록 매력적인 언어네요. 최근에는 파이썬을 이용해 Unity Build Maker를 만들어 유용하게 사용 중입니다.


그런데 이 파이썬 스크립트가 기본적으로는 파이썬이 설치 되어있는 환경에서만 작동이 됩니다. 만약 제가 파이썬으로 유용한 툴을 만들었는데 이것을 다른 컴퓨터에서 쓰기 위해서는 그 컴퓨터에도 파이썬을 설치 해주어야 합니다. 조금 껄쩍찌근 해지죠. 하지만 작성한 파이썬 스크립트를 실행 파일로 만들수 있다면 단지 그 실행 파일만 복사해서 실행만 해주면 됩니다. 참으로 편리 해지겠죠?



파이썬 스크립트를 실행 파일 형태로 변환 하는것은 의외로 간단합니다. 이미 py2exe 라는 유용한 변환 라이브러리가 존재합니다. 일단, py2exe 홈페이지에 가서 자신의 파이썬 버전에 맞는 라이브러리 버전을 다운로드 하여 설치합니다.


py2exe 바로 가기


그 다음 setup.py 파일을 하나 만들어서 아래와 같이 코드를 추가해줍니다.

from distutils.core import setup
import py2exe

setup(console=['hello.py'])

hello.py 부분에는 실행 파일로 변환 시키고픈 자신의 파이썬 스크립트 파일명을 적어주시면 됩니다. 그 다음 명령창에 아래와 같이 입력을 하시면...


> python setup.py py2exe


무언가가 마구마구 실행되는 듯 하더니 dist 폴더 안에 짠~ 하고 실행 파일로 변환된 자신의 파이썬 스크립트 파일이 나타납니다.



그런데 dist 폴더안에 실행 파일만 있는 것이 아니라 기타 잡스러운 파일들도 많이 보입니다. 막상 실행 파일만 떼어다가 다른 곳에서 실행 시켜보면 정상 작동을 안하고, 같이 있던 잡스러운 파일들을 같이 넣어주어야만 작동을 하는 것을 확인 할 수 있습니다.


잡스러운 파일들의 용도


실행 파일로 변환 된것은 좋은데 꼭 잡스러운 파일들까지 같이 딸려보낼려니까 왠지 찝찝한 기분을 떨쳐낼수가 없습니다. 파일 하나로 깔끔하게 변환할 수 있는 방법은 없는지 좀더 찾아 보니 방법이 존재하더군요.


아까 생성한 setup.py의 코드를 아래와 같이 변경 시켜줍니다.

from distutils.core import setup
import py2exe, sys, os

sys.argv.append('py2exe')

setup(
    options = {'py2exe': {'bundle_files': 1}},
    windows = [{'script': "hello.py"}],
    zipfile = None,
)

아까와 같이 hello.py 에는 자신의 파이썬 스크립트 명을 적어줍니다. 그 다음 명령창에 다시 명령어를 입력해주면... 짜잔!! 아까와 다르게 dist 폴더에 잡다한 파일은 없어지고, 실행 파일 하나만 생성된 것을 확인 할 수 있습니다.



댓글을 달아 주세요

  1. EY 2012.09.03 00:46  댓글주소  수정/삭제  댓글쓰기

    우와 예전에 파이썬가지고 끄적거리면서 게임만들때 실행파일 말고 딴파일도 생기길래 그러려니 하고 있었는데 실행파일 하나만 만들수도 있었네요ㅎㅎ 유용한 정보 감사합니다 나중에 해봐야겠네요ㅎ

    • Favicon of https://gamedevforever.com 친절한티스 2012.09.03 09:59 신고  댓글주소  수정/삭제

      ㅎㅎ 저도 실행 파일 만들기 검색해봤을때 파일 하나로 만드는 방법은 잘 안나오더라구요. 그래서 알게 된 김에 놀개영에도 공유 해보고자 올리게 되었습니다.

  2. ㄸㄲ 2012.09.05 20:19  댓글주소  수정/삭제  댓글쓰기

    좋은 정보네요

  3. 잉여 2012.09.07 11:43  댓글주소  수정/삭제  댓글쓰기

    http://cx-freeze.sourceforge.net/
    도 괜찮숩니다.

  4. blueasa 2012.09.08 15:26  댓글주소  수정/삭제  댓글쓰기

    오오~
    파이썬 조금 만지고 놀면서
    '실행파일 어케 만들지?' 하고는 당장 쓰질 않아서 그냥 지나쳤는데
    좋은 강좌 감사합니다. :)

  5. ㄸㄲ 2012.09.10 22:59  댓글주소  수정/삭제  댓글쓰기

    흐음.. 이제사 실행해보고 알았는데요, 메시지 출력이 하나도 되질 않는데 제가 잘못 설정한걸까요

    • Favicon of https://gamedevforever.com 친절한티스 2012.09.12 10:32 신고  댓글주소  수정/삭제

      으음~ 글쎄요.
      py2exe를 버전에 맞게 제대로 설치를 하셨는지..
      경로라든가... 여러 문제가 있을거 같은데...
      댓글 내용만 봐서는 모르겠네요.

  6. Favicon of https://gamedevforever.com 스톰(서광록) 2012.10.05 13:38 신고  댓글주소  수정/삭제  댓글쓰기

    프로그래머도 아니면서 <DX9를 이용한 전략게임 후로구래밍> 책 가지고 있는 건 자랑!

    티스님 날 가져욧!

  7. Favicon of https://saelly.tistory.com saelly 2013.02.25 11:33 신고  댓글주소  수정/삭제  댓글쓰기

    안녕하세요~^^

    블로그 잘 보았습니다~~ 그런데 님께서 설명하신 것 그대로 따라해봤는데 이렇게 나오더라구용...
    exe 파일만 나오게끔 하는 방법이요.. 왜 그런걸까요 ㅡ.ㅜ

    C:\Users\Administrator\Desktop>python setup.py py2exe
    running py2exe
    error: bundle-files 1 not yet supported on win64

  8. 태로군 2013.09.23 09:51  댓글주소  수정/삭제  댓글쓰기

    쩐다앙~ 유용한 정보 감사합니다~ ^^

  9. ㅇㅇ 2013.10.28 17:41  댓글주소  수정/삭제  댓글쓰기

    파이썬 2.6만 되네요 ㅠ