第三部分我们来尝试将notebook根据我们的需求导出成不同类型的文件。
4、Jupyter导出文件
Jupyter支持多种格式的数据输出,最基本的,也是我们编辑的文件,会被保存成.ipynb文件,其他的根据需求的不同,我们可以进行下列转换。快捷方式是进入主工具栏–>点击File–>点击Download as–>选择相应文件类型。
4.1. 转成pdf.
其实,利用快捷方式实现pdf的转换可能会导致下图的情况。
这是因为我们缺少相关组件,但组件的大小有几个G,如果不在意,直接下载即可,如果为了省空间,可以采用一种折中的方式,手动转换,具体过程为:
4.1.1. 安装pdfkitpdfkit.
sudo pip install pdfkit
如下所示:
4.1.2. 安装wkhtmltopdf-binary去官网下载一个wkhtmltopdf安装程序,网址为:http://wkhtmltopdf.org/.
4.1.3. 写一个python脚本.
import sys
import subprocess
import pdfkit
inputfile = sys.argv[1].replace(" ","\ ")
temp_html = inputfile[0:inputfile.rfind('.')]+'.html'
command = 'jupyter nbconvert --to html ' + inputfile
subprocess.call(command,shell=True)
print '============success==========='
output_file =inputfile[0:inputfile.rfind('.')]+'.pdf'
pdfkit.from_file(temp_html,output_file)
subprocess.call('rm '+temp_html,shell=True)
4.1.4. 每次要转换文件都到终端中键入以下命令.
python script.py yourfile.ipynb
执行完毕后,就会发现当前路径下多出同名pdf文件。
4.2. 转成Markdown.
像CSDN,很多博客都支持Markdown编辑器了,所以转换成.md文件,很适合直接粘贴至博客上。
Jupyter导出成Markdown后是个压缩包,提取出来,将.md文件上传。
当然,也有不好的地方,由于Markdown是文字和图片分离的,所以传至博客时,本地图片是无法随文件一同上传,网上很多方式本质上都没有省去人工上传图片这一步,希望有大神能找到好的办法分享一下。所以,目前,只好将解压的文件夹里的图片手工上传至博客,这让写博客的体验下降了不少。
在Jupyter保存文件时可能会有错误发生,这通常是权限的问题,具体解决办法是在终端键入以下命令:
sudo chmod 777 ~/.local/share/jupyter/
cd ~/.local/share/jupyter/
sudo chmod 777 runtime/
【References】
Jupyter Notebook 快速入门
Jupyter中matplotlib不显示图片
Jupyter Notebook 常用魔法命令
Jupyter导出为pdf方式
Jupyter运行时权限问题