是否可以将一个IPython笔记本链接到Markdown单元格中的超链接?如果我试试
Link to [Notebook 2](files/notebook2.ipynb)
或
Link to <a href="files/notebook2.ipynb">Notebook 2</a>
使用ipynb文件的原始未格式化内容打开一个新选项卡。有没有办法让IPython通过超链接打开另一个笔记本用于新标签?
答案 0 :(得分:77)
从IPython 2开始,您可以使用您首次尝试的语法:
Link to [Notebook 2](notebook2.ipynb)
答案 1 :(得分:21)
现在至少可以使用Ipython 1.0+进行此操作。
只是做: localhost:8888 / My Notebook.ipynb
以下是此功能的文档。 https://github.com/ipython/ipython/pull/3058
答案 2 :(得分:3)
您可以从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文件夹中创建一个新的notebook.ipynb文件,其中ipython notebook是从该文件夹启动的。该.ipynb文件可以通过从仪表板创建的新ipython笔记本进行模板化,其中笔记本的名称和ID将替换为您尝试从现有笔记本链接的任何内容。我没有试过这个,但是应该可以工作,因为将.ipynb扩展文件放到ipython文件夹中确实会在仪表板中显示它。
答案 3 :(得分:1)
除了akim的建议 - 您可以使用相对链接链接到任何(py或ipynb)文件,从&#34;编辑&#34;开始,然后从您启动的目录开始服务器
E.g。在markdown单元格中,如果我想引用一个文件,其相对位置(相对于我的git repo,也是我启动笔记本服务器的位置)是&#34; ./ path / to / source.py&#34;,我添加:
[link to source](/edit/path/to/source.py)
答案 4 :(得分:0)
不幸的是,这实际上是不可能的。 链接需要是笔记本ID (例如 / a1e2a88f-3b91-4a4e-8ca1-d4fd7240f750 我现在正在处理的那个)。 这是由IPython服务器在启动时创建的UUID。 因此,您可以从IPython仪表板复制链接,但只有在重新启动后才会生效。
答案 5 :(得分:0)
请记住,如果文件名包含空格,则需要用%20替换空格
例如:
[Numpy](Numpy%20For%20Python.ipynb)