【问题标题】:Running IPython Notebook within Sublime Text 2在 Sublime Text 2 中运行 IPython Notebook
【发布时间】:2014-06-18 02:45:54
【问题描述】:

我是 ST2 用户(主要使用 Python),我也使用 IPython notebook。 之前,一切都很好,我可以从 ST2 命令运行 IPython 笔记本(ST2 然后打开一个新选项卡,并且有交互式单元格等)

从昨天开始,我使用 pip 将 ipython 升级到了 2.0 版。从那时起,我不能再在 ST2 中使用笔记本选项卡了。尝试向 ST 命令行输入命令“打开 ipython 笔记本”不会返回任何内容:

>>> "open ipython notebook"
'open ipython notebook'

这是兼容性的问题吗?也许ST2的插件不再适用于ipython版本?我注意到在 2.0 版本中,指向 ipython 服务器主页的链接发生了一些变化。您能否建议如何手动编辑 ST2 ipythonnotebook 插件的配置以使其再次运行?

>>> open ipython notebook
  File "<string>", line 1
    open ipython notebook
               ^
SyntaxError: invalid syntax

【问题讨论】:

  • 您使用的是哪个插件?你到底在哪里输入open ipython notebook? ST2 命令(通过View -&gt; Show Console 打开)是 Python 提示符,您输入的命令不是有效的 Python。
  • @MattDMo:这个:sublime.wbond.net/packages/IPython%20Notebook 我按照如何使用说明进行操作 :-) 是的,我在控制台中输入了(Ctrl + `),这是我们输入命令的唯一地方 I想想……

标签: plugins editor sublimetext2 ipython ipython-notebook


【解决方案1】:

有几个问题。首先,带有IPython Notebook 插件的IPython 2.0 doesn't work。这是 3 个月前报告的,开发人员尚未对此进行任何处理。

其次,即使您没有升级 IPython,您也会在错误的位置输入 open ipython notebook。您应该在命令面板中输入(CtrlShiftP 在 Windows/Linux 上,P on OS X),而不是 Sublime 控制台(Ctrl`)。

所以,有两种选择。第一个是将您的 IPython 版本降级回您之前使用的版本,然后一切都会恢复正常。这样做的缺点是您将无法访问 IPython 的最新功能,这取决于您的工作流程,这可能是也可能不是问题。

第二种选择是通过SublimeREPL 插件运行IPython。这样做的一个好处是能够在生成图像时看到它们,因为它们在新窗口中弹出。缺点包括当前无法连接到正在运行的笔记本服务器,您无法将工作保存为.ipynb 文件,以及呈现数据的不同方式——它更基于行,而不是基于单元,例如,如果我定义一个循环:

In [1]: for i in range(10):
   ...:     print(i)

并且想稍后修改并重新运行它,使用箭头键返回历史记录只能逐行进行,而不是逐个单元格。这意味着每次要运行它时都必须重写循环。我主要使用 SublimeREPL/IPython 来测试我正在编写的代码的 sn-ps,以确保它们按照我的意愿去做。

【讨论】:

  • 哇,非常感谢 MattDMo,如果我知道 IPython Notebook 不能与 IPython 2.0 一起使用,我今天会节省很多时间。以及我没有在命令面板中调用插件是多么心不在焉:) 同时,我也搬到了 SublimeREPL,事情就像你说的那样。但是,有时我可以继续使用交互式环境,有时我不能。例如:如果我在 SublimeREPL 选项卡中评估整个 .py 文件,并且最后几行是显示图像:plt.imshow(...),那么从下一个提示我无法运行或调用任何其他行。我该如何解决?
  • @JimRaynor - 没问题。至于您的 SublimeREPL 问题,最好提出一个新问题,包括尽可能多的细节以及相关代码。有没有试过关闭图片窗口看看能不能继续输入代码?
【解决方案2】:

您可以在键盘映射绑定(Preferences > Key Bindings - User)处使用以下配置直接调用 ipython,而不是运行笔记本:

[{ "keys": ["f9"], "command": "repl_open",
                 "caption": "Python - IPython",
                 "id": "repl_python_ipython",
                 "mnemonic": "p",
                 "args": {
                    "type": "subprocess",
                    "encoding": "utf8",
                    "autocomplete_server": true,
                    "cmd": {
                        "osx": ["python", "-u", "${packages}/SublimeREPL/config/Python/ipy_repl.py"],
                        "linux": ["python", "-u", "${packages}/SublimeREPL/config/Python/ipy_repl.py"],
                        "windows": ["python", "-u", "${packages}/SublimeREPL/config/Python/ipy_repl.py"]
                    },
                    "cwd": "$file_path",
                    "syntax": "Packages/Python/Python.tmLanguage",
                    "external_id": "python",
                    "extend_env": {
                        "PYTHONIOENCODING": "utf-8",
                        "SUBLIMEREPL_EDITOR": "$editor"
                    }
                }

                }
]

所以,点击 F9,它将在新的 shell 上打开 ipython

【讨论】:

    猜你喜欢
    • 2014-02-27
    • 2014-03-22
    • 1970-01-01
    • 2012-05-25
    • 1970-01-01
    • 2017-10-28
    • 2014-04-23
    • 2014-05-28
    • 2015-02-25
    相关资源
    最近更新 更多