python 3.5버전은 py2exe가 되지 않는다. exe파일로 꼭 만들고 싶어서 헤매고 헤맨뒤에 PyInstaller라는 모듈을 찾았다.

이 모듈을 사용하면 정말 쉽게 .py파일을 .exe파일로 컴파일 할 수 있다.

다음은 exe파일로 바꾸는 과정이다.

1. 파이인스톨러를 설치 하기 위해서 일단 터미널에 pip install pyinstaller 를 입력한다.

2. 터미널에서 exe파일로 만들 스크립트가 저장된 폴더로 들어가 pyinstaller 파일이름.py  을 입력한다.

끝! 이렇게 간단하게 .py파일이 .exe로 컴파일 된다.


하지만... 

exe파일을 실행해보면 시컴한 커맨드창과 함께 gui프로그램이 실행된다. 




그럼 저 커맨드 창을 어떻게 하면 없엘 수 있을까?

pyinstaller -w 파일이름.py

라고 입력한다. 여기서 -w플레그는 py(w)의 w이다. 





그러면 이렇게 testing.exe 파일을 실행하면 커맨드창 없이 깔끔하게 실행이 된다. 만족스럽다.

그런데 exe파일이 저장된 폴더를 보면 exe파일 말고도 많은 프로그램들이 같이 만들어진다. 파일이름을 보니 사용했던 모듈과 관련된 파일들임을 알 수 있다. 

만약 더 욕심을 내서 exe파일 하나로 끝내면서도 커맨드창이 나오지 않기를 바란다면 다음과 같이 입력하면 된다.

pyinstaller --onefile -w 파일이름.py

그러면 다음과 같이 파일이 exe파일 하나면서 뒤에 시컴한 커맨드 창이 나오지 않도록 py파일을 컴파일 할 수 있다!!!




------------------- 원문 from stack overflow----------------------

You can use PyInstaller which support python 3.5.

To install it with pip execute in terminal: pip install pyinstaller

To make the .exe file:

pyinstaller --onefile scriptname.py




This might not be directly related to your question but i think it is worth trying.

You easily do so Using PyInstaller by usin the following code.

pyinstaller -w scriptname.py

Just as simple as that and every thing is settled.



  1. 코번 2017.05.30 21:12 신고

    exe실행할 때마다 No module named 'queue' 라는 메세지 뜨면서 아무것도 안됩니다 ㅠ 도와주십쇼 3.5 맞는데..

  2. 코번응답자 2017.07.06 21:49 신고

    queue라는 모듈이 없다고 뜨는데 그건님이 모듈 잘못 설치해서 그런거 아님?
    아니면 환경변수 설정을 제대로 안했던가

  3. eugene 2018.02.11 18:43 신고

    Non-UTF-8 code starting with '\xbd 계속해서 이런 에러가 뜨는데 해결방법이 있을까요 ㅠㅠ

+ Recent posts