如何在emacs中打开IPython解释器?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在emacs中打开IPython解释器?相关的知识,希望对你有一定的参考价值。
为了在Emacs的Python开发过程中使用IPython,我一直在打开一个终端,然后输入ipython
。这似乎不是正确的方法。
首先,我的缓冲区将此缓冲区列为*ansi-term*
,这令人困惑,因为我经常最终使用多个终端,其中一个终端专用于Python。我也看到我可以直接用M-x python-shell
打开一个python解释器。似乎IPython应该有类似的选择。
有没有更好的方法在Emacs中使用IPython解释器?
我正在使用带有Prelude的Emacs 24。
我不知道Prelude是什么,但是如果你可以安装最新的Emacs(即包含Fabian的python模式的Emacs),那么你可以使用以下内容让Python模式知道你喜欢的解释器选择。然后你只需要调用M-x run-python
:
--
(when (executable-find "ipython")
(setq python-shell-interpreter "ipython"))
--
UPD初学者详细说明:
- 复制这个:
(defun ipython () (interactive) (term "/usr/bin/ipython"))
- 首先尝试从终端启动Emacs作为
emacs -q
。-q
表示不加载任何自定义代码。这意味着在这种模式下,您的emacs将与我的行为完全一样。 - 你现在应该在欢迎屏幕上。按q。
- 你现在应该在
*scratch*
缓冲区。按C-y粘贴从浏览器复制的代码。 - 将光标定位在代码的最后,紧跟在最后一个括号之后。
- 按C-j评估代码。名字
ipython
弹出。 - 现在你可以像任何其他命令一样执行此命令。 M-x ipython。
- 如果您希望此更改成为永久更改,请将代码附加到
~/.emacs
。
我已经尝试过abo-abo在emacs中运行ipython的方法。它是一种非常流畅的方法,可以在emacs中快捷地修改shell函数。但是,当你在shell中时,你确实会丢失emacs功能(例如,不能从shell中删除M-x o
)
相反,我个人认为使用Emacs内置shell命令(M-x shell
)要好得多。你可以在Emacs内置shell中运行ipython,并且仍然拥有我们都知道和喜爱的所有Emacs功能。
似乎有点晚了,但是也有类似的问题,希望将ipython作为我的emacs 24.x的默认python解释器。以下工作就像一个魔术 -
(require 'python)
(setq python-shell-interpreter "ipython")
(setq python-shell-interpreter-args "--pylab")
感谢http://www.flannaghan.com/2013/08/29/ipython-emacs拯救我的一天,希望你的。
PS:你的系统中预装了anaconda似乎有帮助......
编辑:哎呀,下面的项目是一个分支,而不是正式的Prelude项目。这里的第二段仍然有效。或者你可以试试叉子。
看起来像Prelude already sets up ipython integration。也许你的副本已经过时了?
如果M-x run-python
没有启动ipython,请尝试将(setq python-shell-interpreter "ipython")
添加到您的init文件(或仅评估它)并再次运行M-x run-python
。在没有Prelude的快速测试之后,这似乎是必要的。
您可以使用名为emacs-ipython的Emacs扩展程序。
https://github.com/burakbayramli/emacs-ipython
在一个LaTeX缓冲区(您可以将其更改为任何缓冲区)之间,只需一次击键,它就会将python代码发送到ipython内核,并在下面的逐字块中显示结果。
以上是关于如何在emacs中打开IPython解释器?的主要内容,如果未能解决你的问题,请参考以下文章
如何升级到python3版本并且安装pip3及ipython3