-
파이썬 데이터사이언스 핸드북 1장 - IPython 의 에러와 디버깅데이터 분석/NumPy 2020. 5. 5. 16:33
코드 개발과 데이터 분석은 항상 어느정도 시행착오가 필요하며, IPython 은 이 절차를 능률화하는 도구를 제공한다. 이번 포스트에서는 파이썬의 예외 보고를 제어하는 몇 가지 옵션을 간단히 다루고 코드의 에러를 디버깅하는 도구를 살펴본다.
%xmode Plain, Context Verbose
인터프리터가 예외를 발견하면 에러 발생 원인에 대한 정보를 파이썬에서 접근할 수 있는 traceback 에서 확인할 수 있다.
%xmode {Plain|Context|Verbose}%xmode Plain 처리하는 함수의 return 문 중심으로 실행순서를 보여준다. %xmode Context 코드의 라인 단위로 실행순서를 보여준다. %xmode Verbose 코드의 라인 단위로 실행순서 및 변수/함수 설정 인스턴스 상세까지 보여준다. %debug 역추적 내용을 확인하는 것으로 충분하지 않을 경우 디버깅
IPython 에서 디버깅에 가장 편리한 인터페이스
예외를 만난 뒤 이 명령어를 호출하면, 예외 발생 지점에 대화형 디버깅 프롬프트를 자동으로 연다. ipdb 프롬프트가 스택의 현재 상태를 알아보고 사용 가능한 변수를 탐색할 뿐만 아니라 파이썬 명령어를 실행하게 해준다.
%debug - 수동으로 대화형 디버깅 프롬프트 호출
%pdb on - 에러 생길때 자동으로 대화형 디버깅 프롬프트 호출인터프리터와 대화를 나누는 것만 같다. :-D
pdb (파이썬 디버거) 에 대한 더 자세한 정보는 여기: https://docs.python.org/3/library/pdb.html
pdb — The Python Debugger — Python 3.8.3rc1 documentation
pdb — The Python Debugger Source code: Lib/pdb.py The module pdb defines an interactive source code debugger for Python programs. It supports setting (conditional) breakpoints and single stepping at the source line level, inspection of stack frames, source
docs.python.org
'데이터 분석 > NumPy' 카테고리의 다른 글
파이썬 데이터사이언스 핸드북 2장 - Numpy 소개 (0) 2020.05.12 파이썬 데이터사이언스 핸드북 1장 - 코드 프로파일링 및 시간 측정 (0) 2020.05.09 파이썬 데이터사이언스 핸드북 1장 - IPython 의 꿀팁 명령어 (0) 2020.05.05 파이썬 데이터사이언스 핸드북 1장 - Jupyter notebook 실행 (0) 2020.05.05 Python 웹 크롤링을 위한 준비 - 웹 드라이버 지정 (1) 2020.02.23