我是ST2用户(主要是Python),我也使用IPython笔记本。 之前,一切都很好,我可以从ST2命令运行IPython笔记本(ST2然后打开一个新选项卡,还有交互式单元格等。)
从昨天起,我使用pip将ipython升级到2.0版。从那时起,我再也无法在ST2中使用笔记本电脑选项卡了。试图输入命令'打开ipython notebook'到ST命令行什么都不返回:
>>> "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
答案 0 :(得分:2)
有几个问题。首先,使用IPython Notebook
插件的IPython 2.0 doesn't work。这是在3个月前报道的,开发人员还没有采取任何措施。
其次,即使你没有升级IPython,你也会在错误的位置输入open ipython notebook
。您应该在命令选项板中键入它( Ctrl Shift P 在Windows / Linux上,⌘ OS OS上的 P ),而不是Sublime控制台( Ctrl `)。
所以,有两种选择。首先是将你的IPython版本降级回你之前使用的版本,一切都会再次运行。这样做的缺点是您将无法访问IPython的最新功能,根据您的工作流程,这可能是也可能不是问题。
第二个选项是通过SublimeREPL
插件运行IPython。关于这一点的一个好处是能够在生成它们时看到图像,因为它们在新窗口中弹出。缺点包括目前缺乏连接到运行的笔记本电脑服务器的能力,你不能将你的工作保存为.ipynb
文件,以及不同的数据呈现方式 - 它更基于行,而不是单元格 - 基于,例如,如果我定义一个循环:
In [1]: for i in range(10):
...: print(i)
并希望稍后修改并重新运行它,使用箭头键返回历史记录只能逐行进行,而不是逐个单元格。这意味着每次要运行它时都必须重写循环。我主要使用SublimeREPL / IPython来测试代码片段,因为我正在编写以确保他们按照我的意愿行事。
答案 1 :(得分:1)
您可以使用键盘绑定中的以下配置(首选项&gt;键绑定 - 用户)直接调用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