[연구 자동화 #12] 내가 잠든 사이에도 분석은 계속된다: 윈도우 작업 스케줄러로 파이썬 자동 실행하기

 

연구원의 아침은 보통 전날 밤에 걸어둔 실험 결과를 확인하는 것으로 시작됩니다. 하지만 매일 아침 사무실에 출근해 데이터를 내려받고, 전처리를 거쳐 그래프를 그리는 과정을 반복하고 있다면 그 시간만큼 연구의 몰입도는 떨어질 수밖에 없습니다.

만약 출근해서 커피 한 잔을 마시고 자리에 앉았을 때, 이미 파이썬이 모든 분석을 끝내고 최신 보고서를 여러분의 이메일이나 폴더에 넣어두었다면 어떨까요? 윈도우 작업 스케줄러는 여러분이 설정한 주기(매일, 매주, 혹은 특정 시간)에 맞춰 파이썬 스크립트를 조용히 실행해주는 훌륭한 비서입니다.


1. 전제 조건: 주피터 노트북(.ipynb)을 파이썬 파일(.py)로 바꾸기

우리가 지금까지 사용한 주피터 노트북 파일은 대화형으로 코드를 실행하기에는 좋지만, 자동으로 실행되는 '프로그램'으로 쓰기에는 적합하지 않습니다. 먼저 스케줄러가 읽을 수 있는 순수 파이썬 파일로 변환해야 합니다.

  • 방법: 주피터 노트북 메뉴에서 [File] -> [Download as] -> [Python (.py)]를 선택해 저장하세요.

  • 팁: 파일 안에 plt.show()처럼 창을 띄우는 코드가 있다면, 자동 실행 시 프로그램이 멈출 수 있습니다. 6편에서 배운 plt.savefig()를 사용해 결과물을 파일로 저장하는 방식으로 코드를 수정해두는 것이 좋습니다.


2. 배치 파일(.bat) 만들기: 환경 설정의 번거로움 해결

파이썬을 바로 실행할 수도 있지만, 우리는 2편에서 '아나콘다 가상환경'을 만들었습니다. 스케줄러가 이 가상환경을 제대로 인식하게 하려면 배치 파일을 하나 만드는 것이 가장 확실합니다. 메모장을 열고 아래 형식을 참고해 작성한 뒤 .bat 확장자로 저장하세요.

Plaintext
@echo off
call C:\Users\사용자이름\anaconda3\Scripts\activate.bat research_env
python C:\경로\my_script.py
pause
  • 설명: 첫 줄은 가상환경을 활성화하고, 둘 줄은 해당 환경에서 여러분의 파이썬 파일을 실행하라는 뜻입니다.


3. 윈도우 작업 스케줄러 설정하기

이제 윈도우 검색창에 '작업 스케줄러'를 입력해 실행합니다.

  1. 작업 만들기: 우측의 [기본 작업 만들기]를 클릭하고 '연구 데이터 자동 분석' 등 이름을 붙입니다.

  2. 트리거(Trigger): 실행 주기를 선택합니다. 매일 아침 7시에 보고서를 받고 싶다면 '매일'을 선택하고 시간을 설정하세요.

  3. 동작(Action): [프로그램 시작]을 선택합니다.

  4. 스크립트 선택: [찾아보기]를 눌러 방금 만든 .bat 파일을 선택합니다.

    • 중요: '시작 위치(선택 사항)' 칸에 데이터 파일과 스크립트가 들어있는 폴더 경로를 반드시 적어주세요. 이 과정을 생략하면 파일 경로 에러가 발생할 확률이 매우 높습니다.


4. [트러블슈팅] 스케줄러가 작동하지 않을 때 체크리스트

설정을 마쳤는데 프로그램이 돌지 않는다면 다음 세 가지를 확인해 보세요.

  • 권한 문제: 작업 속성에서 '가장 높은 수준의 권한으로 실행'에 체크되어 있는지 확인하세요.

  • 절대 경로 사용: 코드 내에서 파일을 읽거나 저장할 때 data.csv 대신 C:\Users\Documents\data.csv처럼 전체 경로를 썼는지 확인하세요. 스케줄러는 실행되는 위치가 매번 달라질 수 있기 때문입니다.

  • 전원 설정: 노트북의 경우 전원이 연결되어 있지 않으면 스케줄러가 작동하지 않도록 기본 설정된 경우가 많습니다. '조건' 탭에서 '컴퓨터의 AC 전원이 켜져 있는 경우에만 작업 시작' 체크를 해제하세요.


5. 마치며: 진정한 연구 효율의 완성

처음 스케줄러 설정을 마치고 다음 날 아침, 내가 손 하나 까딱하지 않았는데도 완성된 보고서 파일을 발견했을 때의 그 희열은 대단합니다. 이것은 단순한 편리함을 넘어, 연구의 '규칙성'을 만들어줍니다. 매일 같은 시간에 데이터를 수집하고 분석하는 시스템은 실험 데이터의 시계열적 흐름을 파악하는 데 큰 도움을 줍니다.

이제 여러분은 파이썬이라는 도구를 단순한 계산기가 아닌, 24시간 쉬지 않고 일하는 연구소의 일원으로 고용하게 된 것입니다. 반복적인 실행 작업은 기계에게 맡기고, 여러분은 그 결과가 주는 의미를 해석하는 데 더 많은 시간을 할애하시길 바랍니다.


## 핵심 요약

  • 윈도우 작업 스케줄러를 활용하면 특정 시간에 파이썬 코드를 자동으로 실행하는 완전 자동화 시스템을 구축할 수 있습니다.

  • 주피터 노트북 파일을 순수 파이썬(.py) 파일로 변환하고, 가상환경을 활성화하는 배치 파일(.bat)을 활용하는 것이 가장 안정적입니다.

  • 실행 경로(시작 위치) 설정과 절대 경로 사용은 스케줄러 작동 오류를 막는 가장 중요한 실무 팁입니다.


## 다음 편 예고

자동화 시스템까지 갖췄으니 이제 결과물의 퀄리티를 높일 시간입니다. 다음 시간에는 [데이터 시각화의 정수: 엑셀 차트보다 예쁜 논문용 그래프 파이썬으로 그리기]를 통해 시각적 설득력을 극대화하는 법을 배워보겠습니다.


## 소통 질문

여러분이 매일 혹은 매주 특정 시간에 꼭 확인해야 하는 데이터가 있나요? 그 작업을 자동화한다면 아침 시간을 어떻게 활용하고 싶으신가요? 댓글로 여러분의 로망을 들려주세요!


댓글

이 블로그의 인기 게시물

[연구 자동화 #38] 실험이 멈춰도 걱정 마세요: 파이썬 실시간 모니터링과 알림 시스템 구축

[연구 자동화 #31] 논문에 바로 쓰는 시각화의 정석: 출판용 고해상도 이미지 만들기

[연구 자동화 #10] 고급 크롤링: Selenium으로 브라우저를 직접 조종하여 로그인 및 자동 클릭 마스터하기