파이썬 맥북으로 exe파일 만들기 (자동배포 가능)

“Mac에서는 exe 파일 못 만들어?”

“파이썬 스크립트를 윈도우 실행파일로 만들고 싶은데 방법이 없네…”
이런 고민, 해보신 적 있나요?

 

py 만드는 방법은 아래 게시물을 참고 해주세요

2024.04.22 - [개발/Python] - 파이썬 py 파일 exe 로 변환 방법


⛔ Mac에서는 .exe 파일을 직접 만들 수 없습니다

먼저 확실히 짚고 넘어갈 부분이 있어요.
.exe는 Windows 전용 실행 파일이기 때문에,
Mac에서는 pyinstaller나 auto-py-to-exe 같은 툴을 이용해도 exe를 만들 수 없습니다.

이걸 몰라서 수시간 삽질하게 되는 분들 정말 많더라고요. (저도 설마했습니다)


✅ 정답은? GitHub Actions로 빌드하기

Mac에서 직접 exe를 만들 수는 없지만,
윈도우 환경에서 자동으로 빌드하게 만들 수는 있습니다.

이때 사용하는 게 바로 GitHub Actions입니다.


🛠️ 준비물

  • GitHub 계정 (로그인 혹은 회원가입 진행)
    https://github.com
  • .py 파일 (파이썬 스크립트)
  • 간단한 YAML 설정 파일만 있으면 끝!

가. 진행방법

 1. GitHub Actions 워크플로우 생성

    (.github/workflows/build.yml 파일생성)

프로젝트 상단 디렉토리에 (.github/workflows/build.yml) 디렉토리 및 파일 생성

name: Build Windows EXE

on:
  # 아래는 GitHub Actions 실행 조건
  # 워크플로를 수동 실행하거나(main 브랜치에 push할 때 자동 실행)
  workflow_dispatch:
  push:
    branches: [ main ]

jobs:
  build:
    runs-on: windows-latest  # 윈도우 환경에서 실행

    steps:
    - name: Checkout source
      uses: actions/checkout@v3

    - name: Set up Python
      uses: actions/setup-python@v5
      with:
        python-version: '3.10'  # 필요한 Python 버전

    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install pyinstaller pdf2docx docx2pdf  # 여기에 설치가 필요한 패키지 추가 없으면 안넣어도 됨

    - name: Build EXE
      run: |
        
        pyinstaller --onefile --noconsole stockreturn/stock.py
        #  여기 파일명을 바꿔주면 다른 파일도 빌드 가능함! (로컬에서 stockreturn/stock.py 빌드)
        # 예: 만약 `subfolder/my_tool.py` 라는 파일을 EXE로 만들고 싶다면:
        # pyinstaller --onefile --noconsole subfolder/my_tool.py
    - name: Upload artifact
      uses: actions/upload-artifact@v4
      with:
        name: build              # 다운로드할 압축파일 이름
        path: dist/*.exe         # 빌드된 exe 파일 경로
 
 

2. requirements.txt 만들기

pyinstaller는 필수!
추가로 사용하는 패키지도 같이 작성해줘요.

경로 최상단

pyinstaller
pandas
openpyxl

3. git hub 연결 및 push

   3-1) github 사이트에서 repository 생성

   3-2) 터미널에서 아래 명령어 입력

git init
git remote add origin https://github.com/아이디/레포명.git
git add .
git commit -m "Initial commit"
git push -u origin main

 

나. 프로젝트 폴더 정리

project-folder/

├── (프로젝트 디렉토리)

    └── (프로젝트).py 
├── requirements.txt (생성)
└── .github/.              (생성)
    └── workflows/     (생성)
        └── build.yml     (생성)


📦 빌드가 완료되면?

  1. GitHub Actions 탭에서 워크플로우 확인
  2. exe-file 이라는 이름으로 빌드된 실행파일 다운로드 가능

Mac에서 만들 수 없던 .exe 파일,
이제 GitHub 서버가 대신 만들어주고,
우리는 그냥 받아만 오면 됩니다.

 

 


📂 참고: 실행파일 받는 위치

  • GitHub > Repository > Actions > 빌드 성공 항목 클릭
  • Artifacts 섹션에서 .exe 파일 다운로드

 


💡 마치며

Mac에서는 못 하지만, GitHub가 대신 해주는 세상입니다.
이 방식으로 자동화까지 해두면,
코드만 푸시해도 .exe 결과물이 뚝딱 나와요.