티스토리 뷰

파이썬으로 제작한 소스 파일을 exe 혹은 dmg 파일로 만드는 방법을 알아 보겠습니다. 

기본적으로 파이썬 프로그램이 설치 되어 있어야 하고

CMD 명령 프롬프트에서 아래의 명령어를 파이썬 코드 파일이 저장된 위치에서 입력하면 됩니다.

 

 

 

실행파일 만들기(windows)

1.pyinstaller 설치

pip install pyinstaller

 

2.exe 파일로 빌드

pyinstaller --onefile 파이썬코드파일.py

--onefile 옵션을 넣으면 exe 파일 하나로 빌드됩니다. 부수적으로 만들어지는 폴더는 빌드 과정에서 생성된 부수적인 폴더로 삭제하고 배포해도 무방합니다.

 

실행파일 만들기(Mac OS)

1.py2app 설치
맥에서는 pyinstaller 대신에 py2app을 사용해서 실행 파일을 만들 수 있습니다. py2app을 사용하기 위해서는 맥에서 설치가 되어 있어야 합니다. py2app 설치는 아래 명령어를 이용하여 설치할 수 있습니다.

pip install py2app

 

2.맥용 dmg실행 파일로 빌드
설치가 끝나면, 아래와 같이 터미널에서 명령어를 실행하여 실행 파일을 만들 수 있습니다.

python3 파이썬코드파일.py py2app

 

 

 

PyInstaller를 사용하여 Python 스크립트를 .exe 파일로 변환할 때, dist 폴더와 build 폴더가 생성됩니다. 이 두 폴더는 각각 다른 역할을 가지고 있습니다. 설명드리면 다음과 같습니다:

1. dist 폴더

  • 역할: dist(distribution) 폴더는 최종 실행 파일(.exe)을 포함하는 폴더입니다. 이 폴더 안에 변환된 .exe 파일이 위치하며, 이 파일이 실행 가능한 최종 파일입니다.
  • 내용: dist 폴더에는 변환된 실행 파일뿐만 아니라 그 파일이 실행되기 위해 필요한 다른 모든 파일들도 함께 포함될 수 있습니다. 그러나 --onefile 옵션을 사용했다면, 하나의 단일 .exe 파일로 모든 것이 압축되어 들어갑니다.
  • 즉, dist 폴더에 있는 your_script_name.exe 파일은 단독으로 다른 시스템에서 실행될 수 있습니다.

2. build 폴더

  • 역할: build 폴더는 PyInstaller가 .exe 파일을 생성하는 중간 과정에서 필요한 임시 파일들이 저장되는 곳입니다. 빌드할 때 필요한 정보들이 저장되며, 빌드 로그나 캐시 파일도 여기에 저장됩니다.
  • 내용: 이 폴더에는 여러 빌드 관련 파일들이 들어있으며, 빌드 과정에서 사용된 설정 정보나 .exe 파일을 만드는 데 필요한 임시 파일들이 있습니다. 하지만 최종 실행 파일을 실행할 때는 이 폴더는 필요하지 않으며, 배포 시에도 무시해도 됩니다.

3. 단일 .exe 파일의 실행 여부

  • --onefile 옵션을 사용한 경우, dist 폴더에 생성된 단일 .exe 파일만 있으면 해당 파일을 다른 컴퓨터로 이동하여 실행할 수 있습니다.
    • 예시: dist\your_script_name.exe 이 파일 하나만 있으면 충분합니다. 이 파일을 다른 컴퓨터로 복사하여도 그대로 실행할 수 있습니다.
  • 그러나 단일 .exe 파일로 만들지 않고 --onefile 옵션을 생략했다면, dist 폴더 안에는 .exe 파일뿐만 아니라 그 외에도 추가적인 라이브러리 파일과 리소스 파일들이 함께 생성됩니다. 이 경우에는 해당 모든 파일들이 함께 있어야 실행이 가능합니다.

요약:

  • dist 폴더: 최종 실행 가능한 .exe 파일이 위치하며, 배포할 때 필요한 폴더입니다.
  • build 폴더: 빌드 과정에서 필요한 임시 파일들이 저장되며, 배포 시에는 필요하지 않습니다.
  • 단일 .exe 파일로 실행: --onefile 옵션을 사용한 경우 dist 폴더 안의 단일 .exe 파일만 있으면 됩니다. 이 파일을 다른 시스템에 복사해도 단독으로 실행할 수 있습니다.

추가 팁:

  • build 폴더 삭제 가능: build 폴더는 빌드 과정에서만 필요하므로, 배포 시에는 삭제해도 무방합니다. 최종적으로 배포할 때는 dist 폴더 안에 있는 파일만 배포하면 됩니다.
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/10   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함
반응형