[Python] py파일 exe로 만들기(Auto-py-to-exe)
- Python/GUI
- 2021. 12. 13.
파이썬에서 pyinstaller로 exe 파일을 만들었습니다만 각종 옵션을 넣는 코드를 직접 알아야해서 불편함이 많았는데
이번에 auto-py-to-exe라는 모듈이 나왔습니다.
제 생각엔 pyinstaller의 옵션을 gui로 표현해놓은 하나의 프로그램을 만든 것 같습니다.
아시다시피 파이썬은 아직 불완전한 요소가 많기 때문에 exe는 C로 만드는게 더 낫지만
파이썬도 개선하다보면 안전하고 간편하게 exe를 만드는 날이 오지 않을까 싶습니다.
설치
auto-py-to-exe도 하나의 모듈이라서 pip으로 설치를 합니다.
cmd에서 pip으로 라이브러리 설치하듯이 설치합니다.
pip install auto-py-to-exe
설치가 끝난 후 auto-py-to-exe를 바로 실행시킬 수 있습니다.
가이드 사이트에서도 터미널에서 실행시키는 것으로 되어 있습니다.
파이참에서 바로 실행이 가능하거나 exe로 만들면 참 좋을 것 같은데 아쉽습니다.
실행
auto-py-to-exe를 실행하면 다음과 같은 gui가 뜹니다.
pyinstaller에서 하던 옵션들이 하나씩 다 들어가 있습니다.
직접 코드를 찾아가며 하던 어려움에서 조금은 벗어난 것 같습니다.
불안정한 건 분명히 있기 때문에 오류가 많이 나올것같긴 하지만
이것저것 다 하다보면 나름의 방법이 생기지 않을까 싶습니다 ㅎㅎ
기본적인 사항은 다음과 같습니다.
- Script Location : exe를 만들 py 파일 경로 넣기
- One file : One directory = 폴더를 만들어서 설치(포터블하지 않음) , One file = exe만 만든다(포터블)
- Console window : console based = cmd창도 같이 켜지게 한다, window based = GUI 창만 켜진다
- Icon : 아이콘을 지정. .ico 파일을 찾아 넣으면 됨. (다른 파일은 안된다고 설명되어 있음)
- Additional files : 참조파일 넣을 수 있음. 예를 들어 활용한 db나 csv 파일을 추가하거나 패키지 이런것들 경로 넣을 수 있음. 자세한건 가이드 사이트를 참조해주세요~!
- Advnaced : pyinstaller에서 직접 써야했던 옵션들 설정을 할 수 있음.(다 있는 것 같지 않음)
- Settings : exe를 만들려는 폴더경로나 json export 냐 import 등등의 설정을 할 수 있음.
설정을 다 마치고 맨 밑에 CONVERT.PY TO.EXE 를 누르면 exe만들기를 시작합니다.
그러면 위 그림처럼 coverting을 시작합니다.
결론
만능키라고 얘기하기는 어려울 것 같습니다.
일단 파이썬에서 exe를 만들려면 numpy나 pandas 같은 라이브러리의 버전이 잘 맞춰져 있어야만 exe로 만들어도 안정적으로 실행됩니다. 정확하게는 잘 모르지만 호환이 되는 것들이 있습니다.
저도 pyinstaller로 exe로 만들기 전에 늘 작업 스케쥴러로 py를 실행시켜보고 오류나 이런것들 확인하고 exe를 만듭니다. 아마 auto-py-to-exe도 비슷하지 않을까 싶습니다.
다행인 것은 가이드 사이트가 존재해서 나름의 해결방안을 제시하고 있다는 것입니다.
오류나 모르는 것이 있으면 가이드 사이트에서 따라가면서 만들어나가면 될 것 같습니다. 가이드에서도 큰 규모의 프로젝트는 pyinstaller를 추천하네요.
간단한 exe를 만드는 용도로 사용하면 유용할 것 같습니다.
가이드 사이트 링크입니다.
auto-py-to-exe를 실행시켜 오른쪽 상단에 있는 Help Post Ne 를 클릭해서 들어가셔도 됩니다.
관련 포스팅
'Python > GUI' 카테고리의 다른 글
[Pyqt5] 파일,폴더 선택 창 나오게 하기 (0) | 2023.07.03 |
---|---|
[파이썬] exe파일로 만들기(pyinstaller) (0) | 2023.04.29 |
[PyQt5] Qt Designer로 GUI 틀 만들고 py파일로 바꾸기 (0) | 2021.11.22 |
[Tkinter] Checkbutton 체크가능,불가능 버튼 (6) | 2021.08.17 |
[Tkinter] 기본 위젯 (0) | 2021.08.04 |