2012-11-16 31 views
7

Tôi đang bối rối về sự tích hợp của IPython với Emacs. Bắt đầu với Emacs 24, Emacs giao hàng với riêng nó python.el. Tệp này có hỗ trợ cho IPython hay chỉ cho Python không?Hỗ trợ IPython trên Emacs 24.x

Ngoài ra, các cuộc gọi Emacswiki về một tệp có tên IPython.el (mặc dù liên kết cung cấp: http://ipython.scipy.org/dist/ipython.el trả về lỗi 404). Tệp này có tương thích với Emacs 24 'python.el hoặc tệp này chỉ hoạt động với python-model.el?

Trả lời

7

Mới python.el (được giao bằng phiên bản Emacs 24.3) không hỗ trợ IPython. Bạn cần phải thêm những dòng sau vào tập tin init.el của bạn (hướng dẫn sao chép từ python.el):

(require 'python) 
(setq 
    python-shell-interpreter "ipython" 
    python-shell-interpreter-args "--pylab" 
    python-shell-prompt-regexp "In \\[[0-9]+\\]: " 
    python-shell-prompt-output-regexp "Out\\[[0-9]+\\]: " 
    python-shell-completion-setup-code 
    "from IPython.core.completerlib import module_completion" 
    python-shell-completion-module-string-code 
    "';'.join(module_completion('''%s'''))\n" 
    python-shell-completion-string-code 
    "';'.join(get_ipython().Completer.all_completions('''%s'''))\n") 

này hoạt động trên Linux (Tôi đang chạy Ubuntu 12.04), một số sửa đổi bổ sung có thể cần thiết trên Windows (để biết chi tiết, kiểm tra nguồn init.el).

Tuy nhiên, bạn nên không sử dụng ipython.el (được phân phối với các gói IPython), vì nó rõ ràng phụ thuộc vào python-mode.el (ít nhất là đây là trường hợp với IPython 0.12.1 được cài đặt trên hệ thống của tôi).

1

Không chắc chắn về python.el cổ phiếu khi tôi đang chạy python-mode.el, có hỗ trợ ipython trong đó. Nhưng tôi chỉ cần nhìn vào các nguồn python.el đã được cài đặt với Emacs 24 của tôi và nó có một vài tham chiếu đến ipython bên trong nó để nó xuất hiện rằng nó hỗ trợ ipython.

1

Emacs tàu với python.el kể từ sớm nhất là emacs 22. Đó là một trong những gì tôi đang sử dụng và dựa vào để xây dựng phần còn lại của các tính năng chỉnh sửa python tôi cần.

Không may ai đó đã viết một python.el mới và các nhà bảo trì (không phải trong số họ sử dụng chế độ python nặng) OK thay thế python.el hiện tại và đang hoạt động trong sắp tới 24.3. Họ sẽ làm điều đó theo cách tương thích ngược, thật đáng buồn, rơi xuống phía đối diện.

python.el từ trước 24.3 hỗ trợ chạy ipython.