파이썬 exe 변환: 파이썬 없는 PC에서 내 코드 실행하기 (40대 실전 17편)]

지난 16편에서 우리는 웹 크롤링으로 여러 지역의 방역 현장 날씨를 수집하고 엑셀로 저장하는 놀라운 코드를 완성했습니다. 하지만 실무에 이 코드를 도입하려고 하면 곧바로 거대한 장벽에 부딪힙니다. 바로 팀원들의 컴퓨터에는 ‘파이썬(Python)’이 설치되어 있지 않다는 사실입니다.

바쁜 현장 팀장들의 PC에 일일이 코딩 프로그램(VS Code)을 깔아주고, 복잡한 라이브러리를 하나하나 설치해 줄 수는 없는 노릇입니다. 이 문제를 해결하기 위해 오늘은 파이썬 exe 변환 기술을 다루어 보겠습니다. 내가 밤새워 짠 복잡한 코드를 바탕화면의 깔끔한 실행 파일(.exe) 하나로 압축하여, 파이썬이 없는 어떤 컴퓨터에서도 마우스 더블클릭만으로 돌아가게 만드는 궁극의 배포 기술을 지금부터 시작하겠습니다.

파이썬 exe 변환을 통해 파이썬이 없는 PC에서도 구동되는 실행 파일 완성 모습
대체 텍스트: 파이썬 exe 변환을 통해 파이썬이 없는 PC에서도 구동되는 실행 파일 완성 모습

1. 파이썬 exe 변환: Pyinstaller 설치와 마법의 명령어

우리의 코드를 누구나 실행할 수 있는 ‘.exe’ 파일로 포장해 주는 최고의 택배 기사는 바로 Pyinstaller라는 파이썬 라이브러리입니다. 사용법은 허무할 정도로 아주 간단합니다.

1단계: Pyinstaller 설치하기 VS Code 하단의 터미널 창(명령 프롬프트)을 열고 아래 명령어를 입력해 프로그램 포장 도구를 설치합니다.

pip install pyinstaller

2단계: 마법의 변환 명령어 입력하기 내가 만든 파이썬 파일 이름이 weather_crawler.py라고 가정해 보겠습니다. 터미널 창에 아래와 같이 입력하고 엔터를 치면 끝납니다.

pyinstaller -w -F weather_crawler.py

여기서 뒤에 붙은 -w와 -F는 실무 배포에서 선택이 아닌 필수적인 옵션입니다.

  • -w (windowless): 실행할 때 시커먼 도스창(CMD)이 화면에 뜨지 않고, 깔끔하게 백그라운드에서만 조용히 실행되게 해줍니다.
  • -F (One-File): 자잘한 관련 파일들을 폴더 하나에 어지럽게 늘어놓지 않고, 아주 깔끔하게 단 하나의 .exe 파일로 뭉쳐줍니다.

명령어를 치고 약 1~2분 정도의 포장 시간을 기다리면 변환 작업이 모두 완료됩니다. (참고: 더 자세하고 다양한 설정 옵션은 [Pyinstaller 공식 매뉴얼 문서]를 통해 언제든 확인하실 수 있습니다.).)

2. 변환 후 생겨난 낯선 폴더들, 당황하지 마세요

명령어가 성공적으로 끝난 뒤 작업 폴더를 열어보면, 갑자기 처음 보는 낯선 폴더와 파일들이 잔뜩 생겨나서 초보자들을 당황하게 만듭니다. build 폴더, dist 폴더, 그리고 .spec 파일이 새로 생겼을 것입니다.

복잡하게 생각하실 필요가 전혀 없습니다. build 폴더와 .spec 파일은 포장지가 만들어지는 과정에서 생긴 임시 쓰레기통 같은 것입니다. 우리가 팀원들에게 전달해야 할 진짜 알맹이는 오직 dist 폴더 안에 들어있는 단 하나의 실행 파일(.exe) 뿐입니다. 그 외의 나머지 파일과 폴더는 모두 삭제해도 프로그램 실행에 아무런 영향을 주지 않으니 안심하셔도 좋습니다.

3. 실무 트러블슈팅 ①: 백신 프로그램의 바이러스 오진

파이썬 exe 변환을 무사히 마치고 팀원들에게 호기롭게 파일을 나눠줬는데, 십중팔구 이런 연락을 받게 될 것입니다. “대표님, 윈도우 디펜더(백신)가 바이러스라고 하면서 파일을 강제로 지워버리는데요?”

이것은 코드를 잘못 짠 것이 절대 아닙니다. 파이썬 코드를 억지로 압축해서 하나의 실행 파일로 만드는 Pyinstaller의 구동 방식 자체가, 해커들이 악성코드를 퍼뜨리는 방식과 매우 유사하기 때문에 윈도우 보안 시스템이 ‘오진(False Positive)’을 하는 고질적인 현상일 뿐입니다.

[완벽한 실무 해결책]

  1. 팀원의 PC에서 [Windows 보안] -> [바이러스 및 위협 방지] -> [설정 관리]로 들어갑니다.
  2. 스크롤을 맨 아래로 내려 [제외] -> [제외 추가 또는 제거]를 클릭합니다.
  3. [+ 제외 추가] 버튼을 누르고 ‘파일’을 선택한 뒤, 방금 전달받은 .exe 파일을 지정해 줍니다.

렇게 윈도우에게 “이건 내가 직접 만든 안전한 업무용 파일이니까 검사하지 마!”라고 예외 처리를 확실하게 해주면, 바이러스 오진으로 파일이 삭제되는 스트레스에서 영원히 해방될 수 있습니다.

파이썬 exe 변환 후 백신 오진을 막기 위한 윈도우 디펜더 예외 처리 설정)
대체 텍스트: 파이썬 exe 변환 후 백신 오진을 막기 위한 윈도우 디펜더 예외 처리 설정

4. 실무 트러블슈팅 ②: 파일 용량이 왜 이렇게 클까요?

또 하나 실무에서 자주 받는 질문은 “파이썬 코드 텍스트는 몇 줄 안 되는데, 왜 만들어진 실행 파일(.exe) 용량이 30MB나 되나요?” 입니다.

이것 역시 파이썬 exe 변환의 원리를 알면 이해하기 쉽습니다. 팀원의 컴퓨터에는 파이썬이 안 깔려 있기 때문에, Pyinstaller는 ‘파이썬 실행기(인터프리터)’ 자체와 우리가 코드에 사용한 모든 외부 라이브러리(pandas, requests, bs4 등)를 하나의 파일 안에 몽땅 압축해서 우겨넣습니다.

즉, 텍스트 문서 하나를 보낸 것이 아니라 ‘파이썬이 돌아가는 가상 컴퓨터’를 통째로 포장해서 보냈기 때문에 용량이 커지는 것은 지극히 정상적인 현상입니다. 카카오톡이나 사내 메신저로 충분히 전송할 수 있는 크기이니 전혀 걱정하지 않으셔도 됩니다.

5. 글을 마치며: 나만의 소프트웨어를 배포하는 기쁨

오늘 배운 파이썬 exe 변환은 단순한 코딩 연습을 넘어, 나만의 온전한 ‘소프트웨어(프로그램)’를 실무에 정식 출시하는 것과 같습니다.

처음엔 엑셀 데이터의 결측치를 메우는 작은 코딩으로 시작했던 여정이(6편), 이제는 여러 현장의 날씨를 크롤링하고(16편) 카카오톡 알림을 자동으로 쏘며(14편), 마침내 모든 직원의 PC에서 마우스 더블클릭 한 번에 돌아가는 궁극의 무인 자동화 프로그램으로 진화했습니다.

이제 대표님은 단순한 방역업 실무자가 아니라, 고된 현장 업무를 IT 기술로 혁신해 낸 진정한 ‘스마트워크 시스템 설계자’입니다. 그동안 1편부터 17편까지 포기하지 않고 묵묵히 따라오시느라 정말 고생 많으셨습니다. 이제 완성된 이 강력한 무기들을 현장에 마음껏 적용하여 압도적인 업무 효율을 경험해 보십시오!크 시스템 설계자’입니다. 그동안 1편부터 17편까지 포기하지 않고 묵묵히 따라오시느라 정말 고생 많으셨습니다. 이제 완성된 이 강력한 무기들을 현장에 마음껏 적용하여 압도적인 업무 효율을 경험해 보십시오!

(이전 글: [16편: 파이썬 웹 크롤링 엑셀 저장 – 여러 지역 날씨 한 번에 수집하기] 보러 가기)

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다