[英]Links between IPython notebooks
是否可以通过Markdown单元格中的超链接将一个IPython笔记本链接到另一个? 如果我试试
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 / My Notebook.ipynb
以下是此功能的文档。 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的目标的一种方法是运行一个脚本,该脚本将在ipython笔记本启动的ipython文件夹中创建一个新的notebook.ipynb文件。 该.ipynb文件可以通过从仪表板创建的新ipython笔记本进行模板化,其中笔记本的名称和ID将替换为您尝试从现有笔记本链接的任何内容。 我没有尝试过这个,但是应该工作,因为将.ipynb扩展文件放到ipython文件夹中确实会在仪表板中显示它。
除了akim的建议 - 您可以使用相对链接链接到任何(py或ipynb)文件,从“编辑”开始,然后从启动服务器的目录开始。
例如在markdown单元格中,如果我想引用一个文件,其相对位置(相对于我的git repo,也就是我启动笔记本服务器的地方)是“./path/to/source.py”,我会添加:
[link to source](/edit/path/to/source.py)
不幸的是,这实际上是不可能的。 链接需要是笔记本ID(例如/ a1e2a88f-3b91-4a4e-8ca1-d4fd7240f750 ,我正在处理的那个)。 这是由IPython服务器在启动时创建的UUID。 因此,您可以从IPython仪表板复制链接,但只有在重新启动后才会生效。
请记住,如果您的文件名包含空格,则需要将其替换为%20
例如:
[Numpy](Numpy%20For%20Python.ipynb)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.