2011-11-09 45 views
11

gì đang xảy ra:Python Interpreter trong Emacs lặp đi lặp lại dòng

>>> 2 * 10 
2 * 10 
20 
>>> 

Những gì tôi muốn xảy ra:

>>> 2 * 10 
20 
>>> 

Có ai biết tại sao lệnh được in ra trước khi được thực hiện và làm thế nào để ngăn chặn nó từ việc đó? Tôi không thể tìm thấy bất kỳ tài liệu nào về điều này. Tôi đang sử dụng Emacs 23 trên Mac OS X với Python 2.7.

+2

How are you bắt đầu quá trình Python? 'run-python',' python-shell'? – harto

+2

Cách khác là bắt đầu 'ansi-term' và sau đó là' ipython' bên trong nó. –

+0

Vâng, tôi không biết về ansi hạn. Tôi đã sử dụng vỏ M-x nên cảm ơn vì điều đó. – methodmain

Trả lời

10

Tôi không sử dụng python, nhưng tôi đoán rằng tính năng python bạn đang sử dụng đã đặt biến số comint-process-echoes không chính xác. Bất kể giá trị trong bộ đệm của bạn là gì, chỉ cần đảo ngược giá trị boolean.

Comint là thư viện hỗ trợ trong Emacs để chạy các quy trình kém hơn trong Emacs. Nó tương tác với các lời nhắc, và vỏ python (hoặc M-x shell) cần được nói về tính năng echo.

Trong đệm shell của bạn với vấn đề này, làm:

M-: (setq comint-process-echoes t) ;; or nil 
+0

Cảm ơn. Điều đó đã làm điều đó. – methodmain

+2

Điều này cũng phù hợp với tôi! Tôi tự hỏi nếu bạn có thể giúp với [câu hỏi của tôi] (http://stackoverflow.com/questions/9830729/emacs-python-echoing-hooks-and-org-mode) liên quan đến việc chạy này trong một móc mỗi khi python bắt đầu lên ? – alexplanation

+0

@Eric Tôi đang sử dụng Elpy trên Emacs trong ubuntu Tôi có cùng một vấn đề nhưng giải pháp này không hoạt động. Có thể giúp tôi ra –

Các vấn đề liên quan