nbconvert markdown未搜索预定义图像

时间:2014-11-21 05:22:25

标签: ipython ipython-notebook

我想知道为什么ipython nbconvert - 标记不首先搜索目录中的图像。

如果我在我的tes.ipynb中这样做:

from Ipython.display import Image
Image('tes_files/1.jpg')

然后如果我执行命令

ipython nbconvert tes.ipynb --to markdown --stdout

我将得到的输出是

from IPython.display import Image
Image('tes_files/1.jpg')
![jpeg](tes_files/tes_0_0.jpeg)

为什么nbconvert不首先搜索路径指定的路径,

那么如果它不存在,那么生成一个新的?

我知道也许有些想法我们可以从所有目录和nbconvert导入图片,markdown只是将其收集到一个文件夹中。

还有其他选项命令吗?我是否必须创建新的个人资料?

UPDATE:

假设我已经为图像文件夹设置了url路径:

  

IMG_FOLDERS =' ../ galleries / tes_files'

并设置该目录的url路径。在某些时候,我创建了一个情节。 然后,当我执行nbconvert时,它只是创建一个新文件夹&name; #file,与ipynb相同的dir,并根据其中的图形创建一个新图像。如何告诉nbconvert不要创建新目录,而是使用IMG_FOLDERS?

由于

1 个答案:

答案 0 :(得分:1)

这里的问题是,如果你像在你的例子中一样使用它,那么IPython Image类将图像数据嵌入到笔记本中。嵌入式图像由预处理器从笔记本中提取,最后在转换过程中包含在降价,乳胶等文档中 所以你要找的是一种将图像链接到笔记本的方法,这仍然可以通过Image类来实现。 如果您查看Image类(IPython 2.3)的文档,您会发现:

Init definition: Image(self, data=None, url=None, filename=None, format=u'png', embed=None, width=None, height=None, retina=False)

...

Parameters
----------
data : unicode, str or bytes
    The raw image data or a URL or filename to load the data from.
    This always results in embedded image data.
url : unicode
    A URL to download the data from. If you specify `url=`,
    the image data will not be embedded unless you also specify `embed=True`.
filename : unicode
    Path to a local file to load the data from.
    Images from a file are always embedded.

因此,要使图像不是嵌入而是链接,您必须使用url参数,如:

Image(url='tes_files/1.jpg')

在那里,还有一个embed参数,但这似乎不适用于filename参数。