2011년 5월 19일 목요일

[Emacs/Python] iPython과 Emacs

iPython 이란건 최근에 들어서 알게 되었다. -_- 어쨌건, iPython은 Python 인터프리터를 좀 더 강화시킨 인터프리터이다. 하지만 그 뿐만 아니라 쉘의 기능 까지 가지고 있어서 쉘을 대체할 수도 있을 만한 기능을 제공하기도 한다.

http://ipython.scipy.org/moin/

easy_install을 통해 쉽게 설치도 가능하다.
sudo easy_install ipython

설치 후 터미널 등에서 ipython 명령으로 실행시킬 수 있다.

탭 키를 이용한 자동완성이나 관련 완성 항목, '?' 명령을 이용한 오브젝트 정보 보기 등등 다양한 기능을 확인해 보면 되겠다.



Emacs에서도 ipython-mode를 이용할 수 있다.

http://ipython.scipy.org/dist/ipython.el

위 파일 내부에 설정에 대한 코멘트가 있으니 직접 참고해도 되겠다. 이 파일을 설치한 후, 일반적이라면 이런 식의 설정이라면 될 듯 하다.
(require 'ipython)
(setq py-python-command-args '("-colors" "Linux"))
Linux라는 건 인자 이름에서 파악 가능하듯이 ipython 쉘의 색상 테마를 지정하는 부분이다. LightBG 등등을 이용할 수도 있다.

실행은 py-shell을 호출하면 된다.
M-x py-shell
필요하다면 단축키에 바인드 시키면 될 것이다.

그런데 내 Emacs 에서는 이상증상이 나타났다.
일부 색상 관련 ANSI 커맨드가 깨지는 건지, 하여간 엉망진창으로 나타난다.

이런 문제가 발생한다면 색상을 사용하지 않게 설정하는 것도 방법이다.
(setq ansi-color-for-comint-mode t)
(setq py-python-command-args '("-colors" "NoColor"))
(require 'ipython)
순서를 좀 교체하고 ansi 관련 옵션을 하나 추가하긴 했지만, 핵심은 NoColor라는 부분. 이렇게 하면 색상이 나오지 않겠지. 그런데, shell-mode가 하는지 ipython-mode가 하는지는 모르겠지만 font-lock이 적용되어서 색상이 나온다.
불행히도 한글이 되지 않는다. 어떻게 방법이 있을지도 모르겠지만, 당장은 여기서 한글을 사용할 일이 없기 때문에 그냥 쓰기로 했다;;

댓글 없음 :