더북(TheBook)

20.1.1 변경을 계속하지만 전혀 차이가 없다

인터프리터는 오류가 있다고 얘기하지만, 내 눈에는 안 보인다면 인터프리터와 내가 다른 코드를 보고 있기 때문일 것이다. 프로그래밍 환경을 점검하고 내가 고치고 있는 프로그램이 파이썬이 실행하고 있는 프로그램과 같은 것인지 확인해야 한다.

프로그래밍 환경을 확신할 수 없다면 프로그램 시작 부분에 명백한 구문 오류를 넣어보자. 그리고 다시 실행해보자. 인터프리터가 새 오류를 발견하지 못한다면 새로운 코드를 실행하고 있는 것이 아니다.

몇 가지 가능성이 있는 원인이 있다.

  • 파일을 수정하고 다시 실행하기 전에 변경사항을 저장하는 것을 잊었다. 일부 프로그래밍 환경은 자동으로 저장해주지만, 일부는 그렇지 않다.
  • 파일의 이름을 변경했지만, 여전히 예전 이름으로 실행하고 있다.
  • 개발 환경의 어떤 것이 잘못 설정되어 있다.
  • 모듈을 작성하고 import를 사용하고 있다면 작성한 모듈이 표준 파이썬 모듈과 이름이 같은지 확인해보자.
  • 모듈을 읽기 위해 import를 사용하고 있다면 수정된 파일을 읽기 위해서는 인터프리터를 재시작하거나 reload를 사용해야 한다. 모듈을 다시 import하면 아무것도 하지 않아도 된다.

버그는 해결되지 않고 무슨 일이 일어나는지 이해할 수 없다면 한 가지 방법은 Hello, World! 같은 새로운 프로그램으로 다시 시작하는 것이다. 이어서 점진적으로 원래 프로그램의 코드 조각을 새로운 프로그램에 추가해 나가는 것이다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.