[연구 자동화 #11] 왜 내 코드는 작동하지 않을까? 초보 연구자를 위한 파이썬 에러 대처 가이드
주피터 노트북에서 코드를 실행했는데 'Traceback'으로 시작하는 긴 빨간 글씨가 뜨면 누구나 당황하기 마련입니다. 특히 중요한 분석 보고서를 마감해야 할 때는 식은땀이 나기도 하죠. 하지만 고수와 초보의 차이는 코딩 실력이 아니라 '에러 메시지의 마지막 줄을 읽느냐'에서 갈립니다. 에러는 여러분의 연구를 방해하는 장애물이 아니라, 더 견고한 분석 코드를 만들기 위한 이정표입니다.
1. 에러를 읽는 법: '가장 아랫줄'부터 확인하세요
파이썬의 에러 메시지는 발생 경로를 위에서부터 아래로 순차적으로 보여줍니다. 여기서 우리가 주목해야 할 것은 가장 마지막 줄에 적힌 에러의 이름과 구체적인 설명입니다.
Traceback: 에러가 발생하기까지 거쳐온 경로입니다.
마지막 줄:
IndexError: list index out of range처럼 에러의 종류와 이유가 명확히 적혀 있습니다. 이 부분을 먼저 읽고, 그다음 위로 올라가 내 코드의 몇 번째 줄에서 문제가 생겼는지 화살표(---->)를 확인하는 것이 트러블슈팅의 정석입니다.
2. 연구실에서 가장 자주 발생하는 4대 에러와 처방전
1) SyntaxError: "문법이 틀렸습니다"
가장 기초적이지만 빈번한 실수입니다. 마침표를 찍어야 할 곳에 쉼표를 찍었거나, 괄호를 닫지 않았을 때 발생합니다.
주요 원인: 함수 뒤에 콜론(
:) 누락, 따옴표(' ") 짝이 맞지 않음.처방전: 에러가 가리키는 줄과 바로 윗줄을 살펴보세요. 대부분 사소한 오타입니다.
2) IndentationError: "들여쓰기가 잘못되었습니다"
파이썬은 들여쓰기 자체가 문법인 언어입니다. 엑셀 수식에 익숙한 연구원들이 if 문이나 for 루프를 쓸 때 가장 많이 하는 실수입니다.
주요 원인: 스페이스 4칸 대신 탭(Tab)을 섞어 쓰거나, 들여쓰기 깊이가 일정하지 않을 때.
처방전: 주피터 노트북의 자동 들여쓰기 기능을 믿으세요. 코드가 어긋나 보인다면 해당 문단을 지우고 다시
Enter를 눌러 파이썬이 잡아주는 칸에 맞춰 코드를 작성하세요.
3) ModuleNotFoundError: "도구가 설치되지 않았습니다"
9편과 10편에서 배운 크롤링 코드를 실행할 때 자주 보게 됩니다.
주요 원인:
import하려는 라이브러리가 내 컴퓨터에 설치되어 있지 않은 경우.처방전: 터미널(또는 Anaconda Prompt)에서
pip install 라이브러리이름을 입력해 설치를 완료한 뒤, 주피터 노트북의 'Kernel'을 재시작해 보세요.
4) FileNotFoundError: "파일을 찾을 수 없습니다"
실험 데이터를 불러올 때 발생하는 가장 흔한 에러입니다.
주요 원인: 데이터 파일이 코드가 있는 폴더와 다른 곳에 있거나, 파일 이름에 오타가 있는 경우.
처방전: 파일 확장자(
.csv,.xlsx)까지 정확히 썼는지 확인하세요. 가장 확실한 방법은 파일 경로를 통째로 복사해서 붙여넣는 '절대 경로' 방식을 사용하는 것입니다.
3. 에러를 해결하는 고수들의 '검색 전략'
에러 메시지를 읽어도 이해가 안 된다면, 전 세계 개발자와 연구원들이 모인 지식 창고를 활용해야 합니다.
에러 메시지 복사하기: 마지막 줄의 에러 이름과 설명을 그대로 복사해서 구글에 검색하세요.
Stack Overflow 활용: 검색 결과 중 Stack Overflow 사이트의 답변을 확인하세요. 체크 표시(
v)가 된 답변은 검증된 해결책입니다.데이터 확인: 때로는 코드 문제가 아니라 데이터 안에 섞인 특수문자나 빈칸(NaN) 때문에 에러가 나기도 합니다. 4편에서 배운
df.info()를 통해 데이터의 상태를 먼저 점검해 보세요.
4. 에러는 연구의 과정입니다
실험 장비를 세팅할 때 한 번에 완벽하게 돌아가는 경우는 드뭅니다. 파이썬 코드 역시 마찬가지입니다. 에러가 났다는 것은 여러분이 그만큼 복잡하고 가치 있는 분석을 시도하고 있다는 증거입니다.
에러 메시지를 두려워하지 마세요. 하나하나 해결해 나갈 때마다 여러분의 코드는 더욱 견고해지고, 연구의 재현성은 높아집니다. 오늘 마주한 빨간 글씨가 내일의 자동화 보고서를 완성하는 밑거름이 될 것입니다.
## 핵심 요약
에러 메시지의 마지막 줄을 먼저 읽어 에러의 종류(Name)와 이유(Description)를 파악하는 것이 우선입니다.
문법 오타(Syntax), 들여쓰기(Indentation), 라이브러리 누락(Module), 파일 경로(File)는 초보자가 겪는 4대 에러입니다.
스스로 해결하기 어려울 때는 에러 메시지를 복사하여 구글과 Stack Overflow의 집단지성을 활용하세요.
## 다음 편 예고
에러 대처법까지 익혔으니 이제 내 코드를 더 강력하게 만들 시간입니다. 다음 시간에는 [주기적으로 실행하기: 윈도우 작업 스케줄러로 내 프로그램을 자동 예약하기]를 배워보겠습니다. 내가 자고 있는 동안에도 파이썬이 알아서 데이터를 수집하고 분석하는 시스템을 구축해 봅시다.
## 소통 질문
최근 파이썬을 공부하면서 여러분을 가장 괴롭혔던 에러 메시지는 무엇인가요? (예: KeyError, AttributeError 등) 댓글로 남겨주시면 그 에러가 왜 발생했는지, 어떻게 고치는지 함께 고민해 드릴게요!
댓글
댓글 쓰기