如何通过 VSCode 将 Jupyter Notebook 导出为 PDF 格式? (Windows 10)

问题描述 投票:0回答:7

当我尝试在 VSCode 中以 pdf 格式导出 Jupyter Notebook 时,如下所示:

然后我得到了这个错误:

导出失败。请检查“Jupyter”输出面板以获取更多详细信息。

jupyter 输出面板显示:

[错误] 如果您尚未安装 xelatex (TeX),则需要先安装才能导出为 PDF。有关更多说明,请参阅 https://nbconvert.readthedocs.io/en/latest/install.html#installing-tex。 为了避免安装 xelatex (TeX),您可能需要尝试导出为 HTML 并使用浏览器的“打印为 PDF”功能。

所以我尝试安装 MikTeX 并更新所需的包,但仍然无法通过 VSCode 以 PDF 格式导出 Jupyter Notebooks!
我该如何解决这个问题?

注意我知道我可以通过将其转换为HTML,然后使用

ctrl+p
尝试将其另存为pdf来做到这一点!但我想直接将其转换为pdf!

python visual-studio-code jupyter-notebook export-to-pdf
7个回答
12
投票

由于我使用的是 conda venvs,所以我执行了以下步骤:

  1. 在 Anaconda 提示符中使用:
    conda activate <NAME_OF_VENV>
    激活 conda venv。
  2. 使用
    conda install -c anaconda nbconvert
  3. 安装 nbconvert

现在一切都好了,我可以以 HTML 和 PDF 格式导出 Jupyter 笔记本。

更新

此外,您应该考虑

nbconvert
基于官方文档与Python 3.7-3.9兼容。


3
投票

您可以尝试以下网址。希望能解决您的问题

https://code.visualstudio.com/docs/datascience/jupyter-notebooks#_export-your-jupyter-notebook

我刚刚在Linux(Ubuntu 20.04)中尝试过,它对我有用

您可以按照以下步骤操作:

  1. sudo apt-get install texlive-xetex texlive-fonts-recommended texlive-latex-recommended
  2. 安装了 jupyter 的活动环境
  3. 执行此命令:
    jupyter nbconvert --to pdf your_file.ipynb

输出:


3
投票

虽然这个问题已经回答了两次,但没有一个答案似乎解决了OP操作系统上的问题。我想在 Windows Jupyter 开发上设置同样的东西以实现更简化的工作流程。

不幸的是,由于不知道如何让 VS Code 搜索各种依赖项的正确位置,我无法使用“导出为 PDF”按钮;但是,我找到了一种解决方法,允许通过 WSL(适用于 Linux 的 Windows 子系统)在 Windows 上导出为 PDF。

WSL 是我在职业和学校发展过程中越来越喜欢使用的工具,因此我相信,如果您尚未安装它,您可以在 PDF 导出之外找到它的巨大用途。

此方法主要采用命令行方式进行导出,使用

jupyter nbconvert --to pdf <filename>

这也可以在 Windows powershell 中使用;然而,我在 powershell 中设置依赖项的运气不佳。

在 WSL 中,您可以运行此命令并使用友好的 Linux 命令行来安装所有必需的依赖项。

这里是有关如何为 Linux 设置 nbconvert 的文档,我发现它也适用于 WSL (https://nbconvert.readthedocs.io/en/latest/install.html)

如果缺少任何其他依赖项,通常很容易弄清楚如何通过命令行安装它们。


0
投票

如果您使用 arch linux 或 arch 的任何子发行版,

❯ sudo pacman -S texlive-latexextra texlive-core

这为我解决了问题


0
投票

在 Linux (Ubuntu 21.10) 上使用 anaconda 构建虚拟环境,我需要在 venv 中安装这些软件包:

conda activate <NAME_OF_VENV>
pip install notebook
conda install nbconvert
conda install pandoc
conda deactivate

我已经安装了

texlive
,但我缺少
xetex
软件包:

sudo apt install texlive-xetex

这些都是我所需要的,如 VSCode 给出的错误消息所述


0
投票

我正在使用安装在 Windows Subsystem Linux 2 中的 Debian 发行版,以及带有 3.7 Python 版本的 Conda 环境。我在导出 jupyter 文件时在 jupyter 输出中发现以下错误:

! LaTeX Error: File `ucharcat.sty' not found

我只需将 Debian 发行版从 Debian 9 (strecht) 升级到 bullseye 并在升级后的发行版中重新安装 Latex 就解决了这个问题。

我发现Windows Store默认安装Debian 9(仍然是2022年),因此使用

apt
工具包安装的LaTex版本是2016年的。也许Python 3.7和
nbconvert
存在兼容性问题用于导出为 pdf 文件的包。

我以前用过的代码

  • 检查我的 Linux 和 LaTex 版本
  • 升级 Debian WSL 发行版
  • 卸载并重新安装 LaTex

可以在以下链接

找到

希望这个答案有帮助。


0
投票

我遇到了同样的问题...但我根据输出面板简单地使用

pip install jupyter_contrib_nbextensions
修复了它(并且我已经在我的 win 环境中安装了 texlive b

© www.soinside.com 2019 - 2024. All rights reserved.