stdio


Random ramblings of a anonymous software engineer. Contains occasional profanity. Personal opinions, not related to employer.


잘 알려지지 않은 Python REPL - ptpython

입력 히스토리는 업무와 관련된 대외비 코드가 있어 초기화 하였다.

최근에 NLP 처리 관련 ML 작업을 조금 하고 있는데, training iteration을 조금 더 단순화 하기 위해서 코드를 매번 바꾸는 형식 아니라 웹이나 CLI로 만들어서 고민하던 중 CLI를 만들어볼까 하다가 발견한 python-prompt-toolkit 이라는 페이지에서 우연히 발견하였다.

설치에 큰 노력이 들지 않아 설치해봤는데, 이게 꽤 물건이다. iPython을 버려도 될 정도로 훌륭하다. Quicksilver에서 Alfred로 넘어갔을때 처럼 30분 써보고 바로 결정하는 일이 잘 없는데, 이게 딱 그 경우.

설정 화면

이렇게 여러가지 설정도 제공하고, iPython 처럼 사용도 가능하다.

오류 보정

오류가 발생하면 구문 에러를 출력하고 위치를 알려주는게 아니라, 구문 에러가 나는 곳으로 커서가 이동이 된다.

vi 식으로 코드 편집도 가능해서, u를 이용해서 NAV 모드에서 입력 취소도 가능하다. 위 스크린샷은 Esc, Esc, w, w, cw, ;, Space로 오류를 보정한 모습.

히스토리 화면

히스토리 화면에서 전에 입력했던 이력을 짜집기해서 프로그램을 만들 수도 있다. 이건 꽤나 괜찮은 듯. 기능을 좀 더 확인해봐야겠지만, 왜 더 알려지지 않았는지 신기할 정도로 훌륭한 REPL이다.

아쉬운 점은, 자동 완성이 iPython에서 개선된것 같지는 않다. 동일한 버그(?)들이 있다. (그래도 Jupyter 보다야...)