我开始严重依赖IPython笔记本应用程序来开发和记录算法。这太棒了;但有些事情看起来应该是可能的,但我不知道该怎么做:

I would like to insert a local image into my (local) IPython notebook markdown to aid in documenting an algorithm. I know enough to add something like <img src="image.png"> to the markdown, but that is about as far as my knowledge goes. I assume I could put the image in the directory represented by 127.0.0.1:8888 (or some subdirectory) to be able to access it, but I can't figure out where that directory is. (I'm working on a mac.) So, is it possible to do what I'm trying to do without too much trouble?


当前回答

将图像导入Jupyter NB的操作比大多数人在这里提到的要简单得多。

简单地创建一个空Markdown单元格。 然后将图像文件拖放到空的Markdown单元格中。

然后出现插入图像的Markdown代码。

例如,下面以灰色突出显示的字符串将出现在Jupyter单元格中:

! [Venus_flytrap_taxonomy.jpg](附件:Venus_flytrap_taxonomy.jpg)

然后按Shift-Enter键执行Markdown单元格。然后Jupyter服务器将插入图像,然后图像将出现。

我正在运行Jupyter笔记本服务器是:5.7.4在Windows 7上使用Python 3.7.0。

这太简单了!!

更新截至2021年3月18日: 这种简单的“从windows文件系统中拖放”方法在JupyterLab中仍然可以正常工作。JupyterLab插入适当的HTML代码,将图像直接永久地嵌入到笔记本中,这样图像就存储在.ipynb文件中。我在Windows 10上运行JupyterLab v2.2.7, Python 3.7.9仍然可以在JupyterLab中运行。我在Windows 10上使用Python 3.7.9运行Jupyter Lab v2.2.7。

这在去年的Jupyter Classic Notebook v6.1.5中停止工作。我向Jupyter Classic Notebook开发人员报告了一个错误通知。

它再次在最新版本的Jupyter经典笔记本。我刚刚在2021年7月15日在v6.4中尝试了它。感谢Jupyter NB Classic Developers !!

其他回答

将图像导入Jupyter NB的操作比大多数人在这里提到的要简单得多。

简单地创建一个空Markdown单元格。 然后将图像文件拖放到空的Markdown单元格中。

然后出现插入图像的Markdown代码。

例如,下面以灰色突出显示的字符串将出现在Jupyter单元格中:

! [Venus_flytrap_taxonomy.jpg](附件:Venus_flytrap_taxonomy.jpg)

然后按Shift-Enter键执行Markdown单元格。然后Jupyter服务器将插入图像,然后图像将出现。

我正在运行Jupyter笔记本服务器是:5.7.4在Windows 7上使用Python 3.7.0。

这太简单了!!

更新截至2021年3月18日: 这种简单的“从windows文件系统中拖放”方法在JupyterLab中仍然可以正常工作。JupyterLab插入适当的HTML代码,将图像直接永久地嵌入到笔记本中,这样图像就存储在.ipynb文件中。我在Windows 10上运行JupyterLab v2.2.7, Python 3.7.9仍然可以在JupyterLab中运行。我在Windows 10上使用Python 3.7.9运行Jupyter Lab v2.2.7。

这在去年的Jupyter Classic Notebook v6.1.5中停止工作。我向Jupyter Classic Notebook开发人员报告了一个错误通知。

它再次在最新版本的Jupyter经典笔记本。我刚刚在2021年7月15日在v6.4中尝试了它。感谢Jupyter NB Classic Developers !!

(过时的)

IPython/Jupyter现在支持扩展模块,可以通过复制粘贴或拖放插入图像。

https://github.com/ipython-contrib/IPython-notebook-extensions

拖放扩展似乎在大多数浏览器中工作

https://github.com/ipython-contrib/IPython-notebook-extensions/tree/master/nbextensions/usability/dragdrop

但是复制粘贴只能在Chrome中使用。

在运行此代码之前,将默认块从“Code”更改为“Markdown”:

![<caption>](image_filename.png)

如果镜像文件在其他文件夹,可以执行以下操作:

![<caption>](folder/image_filename.png)

对于那些寻找图像文件放在Jupyter机器上的位置,以便可以从本地文件系统显示它的人。

我把我的mypic。png

/root/Images/mypic.png

(这是图像文件夹,显示在Jupyter在线文件浏览器)

在这种情况下,我需要把下面的行Markdown单元格,使我的照片显示在记事本:

![My Title](Images/mypic.png)

我使用的是ipython 2.0,所以只有两行。

from IPython.display import Image
Image(filename='output1.png')