使用单独的图像将ipython笔记本转换为html
我有一个ipython笔记本,混合了SVG和PNG图形。我可以毫不费力地将其导出为html,但它将图像作为编码文本嵌入到使用单独的图像将ipython笔记本转换为html,ipython,ipython-notebook,Ipython,Ipython Notebook,我有一个ipython笔记本,混合了SVG和PNG图形。我可以毫不费力地将其导出为html,但它将图像作为编码文本嵌入到.html文件的主体中 我打电话: ipython nbconvert --to html mynotebook.ipynb 命令行的输出包括: [NbConvertApp] Converting notebook mynotebook.ipynb to html [NbConvertApp] Support files will be in mynotebook_files
.html
文件的主体中
我打电话:
ipython nbconvert --to html mynotebook.ipynb
命令行的输出包括:
[NbConvertApp] Converting notebook mynotebook.ipynb to html
[NbConvertApp] Support files will be in mynotebook_files/
但是没有创建这样的目录,其中也没有文件
有相关的职位(
,
,
,
)但他们要么不解决这个具体问题,要么参考NBconvert作为一个独立图书馆的旧时代
解释了如何用老方法解决这个问题
我尝试使用:
ipython nbconvert --config mycfg.py
与
在.py
文件中,但这是我所能得到的
我要寻找的是一种将png文件(最好是svg文件)放入文件夹的方法。理想情况下尽可能容易 多亏了他的轻推,我已经成功地使它工作起来了。在我有机会了解问题的所有细微差别之前,先考虑一下这个问题。可能会有错误,但这是我对正在发生的事情的理解
覆盖默认值的默认行为
ipython nbconvert——到html mynotebook.ipynb
命令,您需要指定一个配置文件并按如下方式调用它
ipython nbconvert--config mycfg.py
。其中mycfg.py
是与笔记本电脑位于同一目录中的文件。我的看起来像这样:
c = get_config()
c.NbConvertApp.notebooks = ["mynotebook.ipynb"]
c.NbConvertApp.export_format = 'html'
c.Exporter.preprocessors = ['extractoutput.ExtractOutputPreprocessor']
其中[“mynotebook.ipynb”]
是我要转换的文件或文件列表。在本例中,控制笔记本如何转换的部分是'extractoutput.ExtractOutputPreprocessor'
extractoutput
.ExtractOutputPreprocessor
指的是extractoutput.py
,它也与笔记本电脑位于同一目录中(尽管我认为不需要)
extractoutput
.ExtractOutputPreprocessor是指extractoutput.py
中的一个函数,用于指定如何处理输出
在我的例子中,这个文件的内容完全取自,只需稍加修改。第22行(来自.base导入预处理器)生成
ValueError:尝试在非包中进行相对导入
因为它不知道去哪里找包裹。当更改为
来自
IPython.nbconvert.preprocessors
.base导入预处理器
然后它开始工作,所有的图像资产都被放入mynotebook\u文件
目录中
我不需要编辑,在本例中,它知道在何处查找。有一个预处理器,可以将图像保存到单独的文件中,但您需要修改以了解提取的图像。已修复此模板,因此启用ExtractOutputPreprocessor应该是现在唯一必要的步骤。
c = get_config()
c.NbConvertApp.notebooks = ["mynotebook.ipynb"]
c.NbConvertApp.export_format = 'html'
c.Exporter.preprocessors = ['extractoutput.ExtractOutputPreprocessor']