IPython/Jupyter将笔记本保存为PDF的问题

Isa*_*ley 72 pdf ipython jupyter

所以,我一直试图将一个jupyter笔记本保存为PDF,但我无法弄清楚如何做到这一点.我尝试的第一件事是从文件菜单下载PDF格式,但这样做会导致:

nbconvert failed: PDF creating failed
Run Code Online (Sandbox Code Playgroud)

我尝试的下一件事是尝试从这样的命令提示符进行转换

$ ipython nbconvert --to latex --post PDF MyNotebook.ipynb 
Run Code Online (Sandbox Code Playgroud)

但同样,这会导致错误消息

ImportError: No module named 'PDF'
Run Code Online (Sandbox Code Playgroud)

如果我试试

$ ipython nbconvert --to latex MyNotebook.ipynb 
Run Code Online (Sandbox Code Playgroud)

这导致了

IPython.nbconvert.utils.pandoc.PandocMissing: Pandoc wasn't found:
Please check that pandoc is installed
Run Code Online (Sandbox Code Playgroud)

如果我尝试安装pandoc(pip install pandoc),这给了我

ImportError: No module named 'ConfigParser'
Run Code Online (Sandbox Code Playgroud)

这就是我被卡住的地方,因为我只是不知道还能做什么.任何人都知道如何解决任何错误?

And*_*rea 27

如果你在Mac上安装了Homebrew,打开一个终端shell并安装pandoc输入命令:

brew install pandoc

请耐心等待,安装和编译的时间可能会在慢速互联网连接或旧系统上花费一些时间.

  • 这适用于OS X 10.10.我现在可以转换为LaTeX和PDF.(我在pandoc上的安装花了不到一分钟......我的系统上已经有大部分组件了.)谢谢! (3认同)
  • @drpetermolnar 这也对我有用(OSX 10.11.6)。花了2分钟。 (2认同)

Juh*_*uh_ 25

为了使它工作,我安装了乳胶,典型的乳胶和pandoc.

使用ubuntu:

sudo apt-get install texlive texlive-latex-extra pandoc
Run Code Online (Sandbox Code Playgroud)

它需要一些时间:下载几百Mb.我读了一些你可以--no-install-recommends用于texlive和extra以减少到dl的地方.

  • 我需要`pandoc`和`texlive-xetex`. (8认同)
  • 这是在Ubuntu 16.04上为我工作的那个 (5认同)
  • 我还需要 `texlive-generic-extra` 来解决[这个问题](https://tex.stackexchange.com/questions/392577/how-to-fix-iftex-sty-not-found-issue),除了@douggard 建议的“texlive-xetex”。 (3认同)

Sco*_*ott 11

2015-4-22:看起来像IPython更新意味着--to pdf应该使用而不是--to latex --post PDF.有一个相关的Github问题.


Mob*_*Dev 11

要将任何 Jupyter 笔记本转换为 PDF,请按照以下说明操作:

\n\n

在 Jupyter 笔记本中):

\n\n

在Mac 操作系统上:

\n\n

command + P --> 您将看到一个打印对话框 --> 将目标更改为 PDF --> 单击打印

\n\n

在Windows上:

\n\n

Ctrl + P --> 您将看到一个打印对话框 --> 将目标更改为 PDF --> 单击打印

\n\n

如果上述步骤没有生成Jupyter 笔记本的完整 PDF(可能是因为 Chrome 有时不会打印所有输出,因为 Jupyter 会滚动大输出),

\n\n

尝试执行以下步骤来删除菜单中的自动滚动:-

\n\n

致谢:@\xc3\x82ngeloPolotto

\n\n
    \n
  1. 在 Jupyter 笔记本中,单击jupyter 笔记本顶部的单元格\n在此输入图像描述

  2. \n
  3. 接下来单击所有输出-->切换滚动以删除自动滚动。

  4. \n
\n\n

在此输入图像描述

\n


小智 9

要将笔记本转换为PDF,首先需要安装nbconvert。

pip install nbconvert
# OR
conda install nbconvert
Run Code Online (Sandbox Code Playgroud)

接下来,如果您尚未使用Anaconda或尚未使用Anaconda,则必须按照pandoc 网站上的说明或在Linux 上按照以下说明安装pandoc :

sudo apt-get install pandoc
Run Code Online (Sandbox Code Playgroud)

之后,您需要在计算机上安装XeTex:

现在,您可以导航到保存IPython Notebook的文件夹,然后运行以下命令:

jupyter nbconvert --to pdf MyNotebook.ipynb
Run Code Online (Sandbox Code Playgroud)

有关更多参考,请查看此链接


tel*_*t99 5

正如对问题的评论所说,您将需要 pandoc 和乳胶(例如 TeXShop)。我用 Homebrew 安装了 pandoc,只花了一秒钟。拥有 pandoc 和 TeXShop,我可以生成乳胶但不能生成 pdf(在命令行上)。

ipython nbconvert --to latex mynotebook.ipynb
Run Code Online (Sandbox Code Playgroud)

使用 TeXShop 探索 latex (.tex) 文件,失败是由于缺少样式表和 defs。在安装所有这些(adjustbox.sty、adjcalc.sty、trimclip.sty、collectbox.sty、tc-pgf.def、ucs.sty、uni-global.def、utf8x.def、ucsencs.def)之后,它终于做到了工作。

然而,结果看起来有点太时髦了,不适合我的口味。太糟糕了,从 Safari 打印 html 会丢失语法着色。否则,它看起来并没有那么糟糕。(这一切都在 OS X 上)。


Yog*_*esh 5

我在操作系统 Ubuntu 16.0 上使用 Anaconda-Jupyter Notebook 进行 Python 编程。

安装 Nbconvert、Pandoc 和 Tex:

打开终端并在其中执行以下命令。

安装 Nbconvert:虽然它是 Jupyter 生态系统的一部分,但仍然再次安装它

$conda install nbconvert
Run Code Online (Sandbox Code Playgroud)

或者

$pip install nbconvert
Run Code Online (Sandbox Code Playgroud)

但如果您使用的是 anaconda,我建议您使用 conda 而不是 pip

安装 Pandoc:因为 Nbconvert 使用 Pandoc 将 markdown 转换为 HTML 以外的格式。键入以下命令

$sudo apt-get install pandoc
Run Code Online (Sandbox Code Playgroud)

安装 TeX:为了转换为 PDF,nbconvert 使用 TeX。键入以下命令

$sudo apt-get install texlive-xetex
Run Code Online (Sandbox Code Playgroud)

执行这些命令后,关闭打开的笔记本刷新主页或重新启动打开的笔记本的内核。现在尝试将笔记本下载为 pdf 版本:)

注:更多详情请参考官方文档:
https://nbconvert.readthedocs.io/en/latest/install.html