在ipython笔记本中嵌入图像以便分发

Embedding image in ipython notebook for distribution

我有一个ipython笔记本,带有我本地驱动器的嵌入式图像。我期待它与代码单元的输出一起嵌入JSON中,但是当我分发笔记本时,图像并没有出现在用户身上。在Notebook中嵌入图像的推荐方法是什么,如果用户重新运行代码单元,清除单元格输出等,它不会消失?

笔记本系统缓存![label](image.png)中包含的图像,但它们仅持续到重新启动为笔记本服务的python"内核"。如果我重命名磁盘上的图像文件,我可以关闭并重新打开笔记本,它仍然显示图像;但是当我重新启动内核时它会消失。

编辑:如果我生成一个图像作为代码单元格输出,然后将笔记本导出为html,图像嵌入在html中作为编码数据。当然必须有一种方法来挂钩这个功能并将输出加载到降价(或更好的"原始nbconvert")单元格?

1
2
from IPython.display import Image
Image(filename='imagename.png')

将导出(使用ipython nbconvert)到包含以下内容的html:

1
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAnAAAAFgCAYAAAA...

但是,即使我手动将此片段嵌入到markdown单元格中,也无法显示图像。我究竟做错了什么?

PS现有(旧)答案提供了一些非常有用的指针,但不是解决方案。