我想知道为什么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只是将其收集到一个文件夹中。
还有其他选项命令吗?我是否必须创建新的个人资料?
假设我已经为图像文件夹设置了url路径:
IMG_FOLDERS =' ../ galleries / tes_files'
并设置该目录的url路径。在某些时候,我创建了一个情节。 然后,当我执行nbconvert时,它只是创建一个新文件夹&name; #file,与ipynb相同的dir,并根据其中的图形创建一个新图像。如何告诉nbconvert不要创建新目录,而是使用IMG_FOLDERS?
由于
答案 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参数。