1
我想編寫一個ELisp函數在新框架中啓動Python解釋器(IPython),然後在IPython解釋器中運行前一個緩衝區的內容。我使用Emacs 23.3.1,python-mode 6.0和ipython.el。Emacs Lisp:打開一個新框架,啓動IPython,運行以前的緩衝區
這裏是我的功能至今:
(defun python-run()
"Use to run Python programs."
(interactive)
(let (my-buffer-name buffer-name)
(select-frame (make-frame))
(set-frame-size (selected-frame) 90 60)
(py-shell)
(delete-other-windows)
(switch-to-buffer my-buffer-name)
(py-execute-buffer)))
輸出是:
- IPython的通過
py-shell
成功啓動。 - 框架中還有兩個窗口,沒有一個像我想要的那樣。
- 它不會成功執行緩衝,輸出爲:
In [1]: execfile(r'/var/folders/so/sox1TODiEE0hAb6AVusYq++++Tc/-Tmp-/python-26368Zoi.py') # PYTHON-> MODE --------------------------------------------------------------------------- IOError Traceback (most recent call last) /Users/ben/ in() ----> 1 execfile(r'/var/folders/so/sox1TODiEE0hAb6AVusYq++++Tc/-Tmp-/python-26368Zoi.py') # PYTHON-> MODE IOError: [Errno 2] No such file or directory: '/var/folders/so/sox1TODiEE0hAb6AVusYq++++Tc/-Tmp-> /python-26368Zoi.py' In [2]: ## working on region in file /var/folders/so/sox1TODiEE0hAb6AVusYq++++Tc/-Tmp-/python-> 26368fXv.py... execfile(r'/var/folders/so/sox1TODiEE0hAb6AVusYq++++Tc/-Tmp-/python-26368fXv.py') # PYTHON-MODE File "/var/folders/so/sox1TODiEE0hAb6AVusYq++++Tc/-Tmp-/python-26368fXv.py", line 1 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ^ SyntaxError: invalid syntax
如何讓無論是單一窗口或緩衝區的任何想法要執行?謝謝!
謝謝你。現在有些作品。第一次調用python-run時,當它試圖執行py-execute-buffer時,它會失敗,但下次運行。 – Ben