IPython笔记本之间的链接
是否有可能链接一个IPython笔记本与另一个Markdown单元格中的超链接? 如果我尝试
Link to [Notebook 2](files/notebook2.ipynb)
要么
Link to <a href="files/notebook2.ipynb">Notebook 2</a>
使用ipynb文件的原始未格式化内容打开新选项卡。 有没有办法让IPython通过超链接打开另一个笔记本电脑在新标签中使用?
由于IPython 2,你可以使用你第一次尝试的语法:
Link to [Notebook 2](notebook2.ipynb)
现在可以用Ipython 1.0+来做到这一点。
只要做:localhost:8888 /我的Notebook.ipynb
这是该function的文档。 https://github.com/ipython/ipython/pull/3058
您可以从url:$ host / notebooks访问所有笔记本的json版本
这是一个为我工作的片段:
import urllib2 import json data = urllib2.urlopen("http://127.0.0.1:8888/notebooks") json_data=data.read() list_o_dicts=json.loads(json_data) for d in list_o_dicts: if d['name'] == 'test': print d['notebook_id']
根据你的需要修改这个。
**进一步阅读,我刚刚意识到OP也寻求新的笔记本创作,无论如何保持我的答案作为连接现有的笔记本电脑的工作方式。
一种尝试OP的目标的方法是运行一个脚本,该脚本将创build一个新的notebook.ipynb文件到ipython笔记本启动的ipython文件夹中。 该.ipynb文件可以从一个新的从仪表板创build的ipython笔记本模板化,笔记本的名称和idreplace为您正在尝试从现有笔记本链接的任何内容。 我还没有尝试过,但应该工作,因为将一个.ipynb扩展名文件放入ipython文件夹中,不会在仪表板中显示它。
除了akim的build议之外,您可以使用相对链接(从“edit”开始,然后从您启动服务器的目录)链接到任何(py或ipynb)文件。
例如,在一个降价的单元格中,如果我想引用一个文件的相对位置(相对于我的git repo,这也是我启动笔记本服务器的地方)是“./path/to/source.py”,我会添加:
[link to source](/edit/path/to/source.py)
不幸的是,这实际上是不可能的。 链接将需要到笔记本电脑ID(例如/ a1e2a88f-3b91-4a4e-8ca1-d4fd7240f750为我正在工作的一个现在)。 这是IPython服务器启动时创build的UUID。 因此,您可以从IPython Dashboard复制链接,但只有在重新启动之前,该链接才有效。