티스토리 뷰
파이썬 파일을 exe 파일로 만드는 방법을 소개합니다. 구글에 검색해 보면 많은 정보가 있지만 저 같은 초보들은 봐도 잘 이해가 안 되는 경우가 많아서 새롭게 정리해 봅니다. 이제 파이썬을 입문하신 분들은 도움이 되실 거라 생각됩니다.
파이썬 파일을 exe 파일로 만드는 방법
저는 윈도우 환경에서 vscode를 사용하고 있습니다.
1. pyinstaller 설치
먼저 pyinstaller를 설치합니다.
- pyinstaller 설치 명령은 "pip install pyinstaller"입니다.
2. 일반적인 파이썬 파일을 exe파일로 만드는 방법
터미널에 아래와 같이 입력합니다. -F 옵션은 exe파일로 변환시킬 때 부수적인 파일들 없이 단일 파일로 만들어 줍니다. dist폴더로 들어가면 exe파일이 있습니다. 이 exe 파일을 다른 컴퓨터로 옮겨서 실행해도 실행이 됩니다.
pyinstaller -F 파일이름.py
3. 파이썬 파일에 다른 파일이 포함된 경우 exe파일로 만드는 방법
이 경우는 파이썬 파일 코드에서 포함된 파일의 경로를 찾을 수 있도록 만든 다음 pyinstaller 명령을 실행합니다.
먼저 os를 임포트 한 후에 base_path와 file_path를 입력한 후 두 파일을 합친 join_path를 만들어주세요. 자신의 코드 중 경로가 들어가 있는 부분에 join_path를 넣어주면 됩니다.
import os
base_path = os.path.dirname(os.path.abspath(__file__))
file_path = "파일이름.png" # png파일은 예시임
join_path = os.path.join(base_path,file_path)
경로 지정이 완료되었으면 터미널에 "pyinstaller -F --add-data="파일이름.png;./" 파일이름.py를 실행시키면 파일이름.exe 파일이 dist 폴더에 만들어집니다. 이 파일도 exe만 다른 폴더로 옮겨서 실행해도 실행이 됩니다.
pyinstaller 옵션 중 -w는 exe파일 실행 시 콘솔을 제거해 주는 옵션입니다. 콘솔이 있어서 불편한 점을 못 느껴서 저는 -w 옵션은 사용하지 않았습니다. 그리고 콘솔을 제거하지 않은 중요한 이유가 있습니다. 자신의 파이썬 파일이 크롬드라이버를 사용하고 있다면 콘솔이 없을 경우 exe파일 실행 시 바로 꺼져버리는 경우가 발생하기 때문에 이런 경우는 콘솔을 제거하면 안 됩니다.
4. PyQt5 경로 에러 발생시
이유는 모르겠으나 exe 파일 만들 때 PyQt5 경로 관련 에러가 발생할 때가 있습니다. 그럴 때는 아래 순서대로 하세요.
1. 아래 코드를 먼저 실행하여 PyQt5 모듈을 제외하세요.
pyi-makespec --onefile 파일이름.py --exclude-module PyQt5
2. 아래 코드로 빌드하세요.
pyinstaller 파일이름.spec
마무리
파이썬 파일을 exe파일로 변환시키는 방법에 대해 알아보았습니다. 어려운 부분은 없으나 파이썬 파일이 다른 파일을 포함할 경우 경로지정 부분을 신경 써야 합니다. 그리고 크롤링과 같이 크롬드라이버를 이용할 경우 -w 옵션은 사용하지 맙시다.