본문 바로가기
파이썬코드공유

파이썬 어플리케이션 EXE 실행파일 만들기

by 하이어시스템 2023. 7. 15.
반응형

하이어시스템 소개

 

하이어시스템 소개 feat.김프로

소개 안녕하세요, 저는 하이어시스템의 김프로입니다. 여러분들이 어려움을 겪고 계신 일상 업무를 저의 안정적이고 빠른 소프트웨어로 자동화하는 것, 그것이 저의 목표입니다. '하이어시스템

wise-office-worker.tistory.com

 

목적

윈도우 운영체제에서 파이썬 프로그램을 실행파일 exe로 패킹하여 배포하는 방법은 매우 편리하므로 사용자에게 매우 편리한 실행환경을 제공하므로 반드시 자동화프로그램 제작 업무에 적용합니다. 파이썬은 인터프리터 언어이기 때문에 다른 사람들은 해당 프로그램을 실행하려면 별도의 파이썬 인터프리터를 설치해야 합니다. 하지만 실행 파일로 변환하여 배포하면 파이썬 인터프리터 설치 과정 없이도 exe 파일을 더블클릭 하여 프로그램을 실행할 수 있으므로 사용자 편의성이 크게 향상됩니다.

 

이 글에서는 pyinstaller를 사용하여 파이썬 프로그램을 실행 파일로 변환하고 배포하는 방법을 상세히 설명하겠습니다.

 

pyinstaller란?

pyinstaller는 파이썬 프로그램을 실행 파일로 변환해주는 도구입니다. 이 도구를 사용하면 파이썬 프로그램을 단일 실행 파일로 묶을 수 있으며, 해당 파일은 파이썬 인터프리터 없이도 실행될 수 있습니다. pyinstaller는 다양한 운영체제를 지원하며, Windows, macOS, Linux 등에서 실행 파일을 생성할 수 있습니다.

 

설치 방법

pip install pyinstaller

 

pyinstaller 사용방법

pyinstaller는 다양한 옵션을 제공하며 상황에 맞는 실행파일을 커스터마이징할 수 있습니다. 다음은 몇 가지 주요한 옵션과 그 기능에 대한 설명입니다.

 

1)필수적용

-F 또는 --onefile: 실행 파일을 단일 파일로 묶습니다. 이 옵션을 사용하면 모든 필요한 파일들이 하나의 실행 파일에 포함됩니다. 하나의 파일로 배포를 하면 나중에 버그 수정 후 재배포시 파일 하나만 재배포하면 되므로 상당히 편리합니다. 따라서 이 옵션은 필수로 적용합니다.

예시)

pyinstaller -F main.py

pyinstaller --onefile main.py

 

2)선택적용

-w 또는 --windowed: 윈도우 애플리케이션 형태로 실행 파일을 생성합니다. 콘솔 창이 나타나지 않고 백그라운드에서 실행됩니다. 이 옵션은 사용에 주의를 필요합니다. 파이썬 윈도우 프로그램을 실행할 때 콘솔창은 나오면 미결된 개발인듯 하여 없애고 싶은 마음도 생갑니다. 하지만 개발자가 아무리 심혈을 기울여 개발하더라도 대부분 결함이 발생하게 됩니다. 이런 경우 콘솔창이 없다면 오류코드 추적이 어려워지므로 빠른 대응이 어렵습니다. 사용자의 환경에서 발생한 오류코드를 바로 전달받을 수 있다면 오류현상 재연에 들이는 노력을 절감할 수 있으므로 빠른 대응이 가능합니다. 소프트웨어가 완전히 안정화되었다고 판단하기 전에는 이 옵션은 사용하지 않는것이 좋습니다.

 

예시)

pyinstaller -w main.py

pyinstaller --windowed main.py

 

3)기타옵션

기타 많은 옵션들이 존재하지만 EXE 배포작업에 필요한 옵션은 위의 2가지가 전부입니다. 만약 개인적인 궁금증이 있다면 pyinstaller --help 옵션을 커맨드에 실행하여 다른 옵션들을 확인해보시기 바랍니다.

 

업무 적용

다음은 pyinstaller를 사용하여 main.py라는 파이썬 프로그램을 실행 파일로 변환하는 예시입니다. 


1)콘솔창 있는 EXE 프로그램 만들기

pyinstaller -F main.py
위의 예시는 가장 많이 사용하는 명령입니다. 모든 소스코드는 exe 1개의 파일로 패킹되며 로그를 추적할 수 있는 콘솔창이 함께 실행됩니다. 위 명령을 실행하면 main이라는 이름의 실행 파일이 생성됩니다. 프로그램 실행 시 콘솔 창이 나타나며, 프로그램의 출력을 확인할 수 있습니다. 생성된 실행 파일은 dist 디렉토리에 저장됩니다.

EXE 패킹 작업
배포를 위한 실행파일 생성
콘솔창과 함께 실행된 모습

2)콘솔창 없는 EXE 프로그램 만들기
pyinstaller -F -w main.py

콘솔 없이 실행된 윈도우 프로그램

3)아이콘 있는 EXE 프로그램 만들기

pyinstaller -F --icon=logo.ico main.py

pyinstaller -F -w --icon=logo.ico main.py


위의 예시는 1개의 exe 파일로 패킹을 하면서 -w 옵션을 사용하여 콘솔창을 제외시키는 옵션입니다. 프로그램이 안정화 된 경우 콘솔창없이 배포하게 되며 심플한 실행환경을 사용자에게 제공할 수 있습니다.

 

마치며

pyinstaller를 사용하여 파이썬 프로그램을 실행 파일로 변환하고 배포하는 방법을 배웠습니다. pyinstaller는 강력한 도구로써 파이썬 프로그램을 더 널리 사용할 수 있도록 도와줍니다. 실행 파일로 변환하여 배포함으로써 다른 사람들이 파이썬 인터프리터 없이도 프로그램을 실행할 수 있으며, 사용자 편의성을 높일 수 있습니다.

반응형