【发布时间】:2019-06-24 04:36:48
【问题描述】:
我想在 .pdf 文件中下载所有带有代码和相应输出的模拟。有什么方法可以实现吗?
我尝试下载 Ipython 笔记本并在我的电脑上的 jupyter notebook 中打开它,然后将其转换为 pdf。但我正在寻找直接的方法。
【问题讨论】:
标签: jupyter-notebook pdf-generation file-conversion kaggle
我想在 .pdf 文件中下载所有带有代码和相应输出的模拟。有什么方法可以实现吗?
我尝试下载 Ipython 笔记本并在我的电脑上的 jupyter notebook 中打开它,然后将其转换为 pdf。但我正在寻找直接的方法。
【问题讨论】:
标签: jupyter-notebook pdf-generation file-conversion kaggle
目前来说,下载jupyter notebook然后转成PDF是最快的方式。
如果您仍然希望在 kaggle 上将 notebook 转换为 PDF,您可以使用命令行按照以下步骤进行:
请注意,应连接互联网(从右侧菜单中检查)。
1.确保安装了所有必要的库。
!pip install nbconvert # already-installed (most probably)
!apt install pandoc # already-installed
!apt install texlive-xetex -y # this'll take a long time
2.使用nbconvert将jupyter notebook转成PDF
!ls # will output notebook name e.g. `__notebook_source__.ipynb`
!jupyter nbconvert --execute --to pdf __notebook_source__.ipynb
3.现在,您可以提交并运行 (请参阅下面的编辑)并在输出中获取此文件 em> 选项卡或直接使用 SSH 或第三方服务(如 transfer.sh)上传它(使用 file.io,transfer.sh 不再起作用)。
#!curl --upload-file __notebook_source__.pdf https://transfer.sh/notebook.pdf
!curl -F "file=@__notebook_source__.pdf" https://file.io
这将输出一个这样的 url:https://file.io/uYWP0azE2soj 转到该 url 并获取您的文件。
请注意,如果您只需要 HTML 文件,则可以跳过安装 texlive-xetex。
编辑:事实证明 Kaggle 已经稍微改变了它的 GUI,所以,如果你通过点击 Save Version 提交并运行并且你正在执行 Quick Save,那么您需要在高级设置中选择 Save output for this version 以保存输出 pdf 文件。或者你可以简单地使用Save & Run All (Commit),它也会保存输出pdf。
【讨论】:
__notebook_source__.pdf,而不是notebook_source.pdf。使用!ls 列出文件。另请参阅编辑。