2013-11-21 4 views
4

EMACS에서 파이썬 인터프리터를 사용하는 경우 코드를 평가하는 다양한 방법이 있습니다. 예를 들어 REPL (열등 Python)에서 코드를 입력하면 코드가 너무 많이 생성되면 EMACS가 멈 춥니 다 단단하고 살해되어야한다.Emacs와 Python을 사용할 때 REPL 잠금을 멈출 수 있습니까?

이렇게하면됩니다.

[[[False] * 200 for i in range(3)] for j in range(200)] 

파이썬이 터미널에서 실행되는 경우에는 아무런 문제가 없습니다. False 120000 번을 출력하고 나에게 프롬프트를 돌려줍니다.

열등 파이썬 프로세스가 생성하는 출력량을 제한하거나 큰 출력이있을 때 EMACS가 폭발하지 않도록하는 방법이 있습니까?

예를 들어, clojure에서이 똑같은 문제를 해결하기 위해 * print-length * 및 * print-level *을 사용할 수 있습니다.

+1

나를 위해 단색을 고정 시키지는 않지만 CPU가 100 %를 실행하여 Emacs를 매우 느리게 만들지 만 여전히 반응합니다. C-c C-c로 키보드 인터 럽트를 끝낼 수 있습니다.이 인터럽트는 적어도 공격 라인을 죽이고 명령 프롬프트로 돌아옵니다. 이것으로 문제는 해결되지 않지만, Emacs를 철저하게 죽이지 않아도됩니다. – Tyler

답변

0

comint-mode에 의한 반복 계산이 원인으로 간주됩니다.

해결책으로 python-mode.el을 확인하십시오. WRT https://bugs.launchpad.net/python-mode/+bug/1253907 이렇게하면 쉘이 아닌 소스 버퍼에서 인쇄 할 수 있습니다.

"py-fast-"라는 접두사가 붙은 몇 개의 새로운 명령이 있습니다. 새로운 옵션 py-fast-process-p은`t '이어야합니다. 파이썬 - mode.el으로,

https://launchpad.net/python-mode

그러나 및 M-X IPython RET, 그것은 발생하지 않습니다, 거의 빨리 콘솔로 실행 :

아마 그것을 시도를 제공합니다.

BTW ipython.el은 필요하지 않습니다.

+0

죄송합니다. 이해가되지 않습니다. emacs (24.3.1)에는 python 모드가 있고 emacs 패키지 관리자는 시도한 Python 모드 버전 6.0.10을 가지고 있지만 어느 누구도 M-x IPython RET을 이해하지 못합니다 ("일치하지 않음"). 내가 손으로 파이썬 모드라는 또 다른 것을 설치하도록 제안하고 있습니까? 나는 조금 꺼려한다! –

+0

@JohnLawrenceAspden v6.0.10은 상당히 구식 인 반면 M-x ipython RET는 이미 작동 할 수 있습니다. 별칭 M-x IP ... RET는 나중에 소개되었습니다. 어쩌면 패키지 관리자를 사용하고 싶다면 아마 el-get을 사용해보십시오. 바자가 있다면 트렁크가 최상일 수 있습니다 : bzr branch lp : python-mode –

관련 문제