讲师中心 微信公众号
AI工具推荐 视频效率加速

如何在 VSCode 中运行并导出 Jupyter Notebook 为 PDF

大强大大_6869

大强大大_6869

发布时间:2026-06-17 10:59:49

|

784人浏览过

|

来源于php中文网

原创

直接点击“导出为 PDF”常失败,是因为VSCode内置Jupyter扩展不自带LaTeX引擎,而nbconvert默认依赖pdflatex;未安装TeX环境时会报“pdflatex not found”或卡在导出中。

如何在 vscode 中运行并导出 jupyter notebook 为 pdf

为什么直接点击“导出为 PDF”经常失败

VSCode 内置的 Jupyter 扩展不自带 LaTeX 引擎,而 jupyter nbconvert 默认依赖 pdflatex 生成 PDF。没装 LaTeX 环境时,你会看到类似这样的错误:PDF export failed: Command 'pdflatex' not found,或者卡在“Exporting…”不动。

解决思路不是硬凑 VSCode 图形界面按钮,而是明确分两步:先确保 notebook 能被正确执行(含代码输出),再用命令行工具导出。图形按钮只是快捷入口,底层仍调用 nbconvert。

  • Windows 用户推荐安装 TeX Live(完整版)或轻量级 tinytex(通过 R 包安装更方便,但需额外配置路径)
  • macOS 用户用 brew install --cask mactex 或 tlmgr install collection-latex(如果已装 tinytex)
  • Linux 用户运行 sudo apt install texlive-xetex texlive-fonts-recommended texlive-plain-generic(Ubuntu/Debian)
  • 装完后终端运行 pdflatex --version 能返回版本号才算就位

怎样让 notebook 在导出前自动执行所有单元格

默认导出不会重新运行代码——它只把当前编辑器里已有的输出(包括空输出、报错、未执行的单元格)打包进 PDF。结果常是空白图、NameError 或“Output not found”。必须显式要求执行。

最可靠的方式是用命令行加 --execute 参数,而不是依赖 VSCode 右键菜单里的“Export as PDF”:

VSCode
VSCode

避免常见的 VSCode 错误——设置冲突、调试器配置和扩展冲突。

下载
jupyter nbconvert --to pdf --execute my_notebook.ipynb
  • --execute 强制逐单元运行,失败则中断导出(可加 --allow-errors 容忍部分报错)
  • --no-input 可选,隐藏代码块本身,只留输出和 Markdown 渲染结果
  • 若 notebook 依赖相对路径的文件(如 data.csv),请先 cd 到其所在目录再运行命令,否则执行会因路径错误而失败
  • VSCode 终端里执行时,确认当前工作区根目录与 notebook 文件位置一致,否则 nbconvert 可能找不到依赖模块

导出 PDF 时中文显示为方块或乱码怎么办

这是字体缺失的典型表现。nbconvert 默认用 Latin 字体,对中文、日文等 Unicode 字符支持极弱。不能靠改 VSCode 设置解决,得干预 LaTeX 模板或编译参数。

推荐方案是切换到 XeLaTeX 引擎,并指定系统中文字体:

jupyter nbconvert --to pdf --pdf-engine=xelatex --template classic --no-input my_notebook.ipynb
  • --pdf-engine=xelatex 是关键,它支持 TrueType/OpenType 字体;pdflatex 不行
  • --template=classic 避免新版 base 模板里某些未适配 XeLaTeX 的宏定义
  • 若仍有乱码,需手动创建一个 custom.tplx 模板,在导出命令中用 --template=custom.tplx 替代,里面加入 \setmainfont{Noto Sans CJK SC}(macOS)、SimSun(Windows)或 Noto Sans CJK JP(Linux)
  • 注意:VSCode 内置导出不支持传入 --pdf-engine,所以这一步必须走终端

有没有更轻量、不依赖 LaTeX 的替代方案

有,但代价是格式控制力下降。如果你只需要快速生成可读 PDF,且不介意页眉页脚简陋、数学公式渲染偏弱,可以用 HTML 中转:

jupyter nbconvert --to html --no-input my_notebook.ipynb && wkhtmltopdf my_notebook.html my_notebook.pdf
  • wkhtmltopdf 是命令行网页转 PDF 工具,跨平台,中文支持好(只要系统有对应字体)
  • 需提前安装:brew install wkhtmltopdf(macOS)、choco install wkhtmltopdf(Windows)、sudo apt install wkhtmltopdf(Ubuntu)
  • 缺点明显:交互式图表(如 Plotly、ipympl)会丢失动态能力,仅保留静态快照;LaTeX 公式渲染质量不如原生 nbconvert + XeLaTeX
  • VSCode 插件 Export Notebook as PDF(作者:mattzcarey)底层就走这个链路,但稳定性一般,出错时建议还是回到上面的命令行组合

真正麻烦的从来不是“点哪个按钮”,而是 notebook 是否干净可复现、LaTeX 环境是否完整、字体路径是否被识别。这三个点卡住任何一个,PDF 就会停在半路。

相关文章

极轻PDF
极轻PDF

专业的在线PDF工具,支持PDF编辑、转换、合并、压缩等多种功能,操作简单,处理高效,满足日常办公与学习中的PDF处理需求。

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
立刻MV
立刻MV Hot

立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

音述AI
音述AI Hot

一款AI音频处理工具,主要用于音述AI是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区,适合需要提升相关任务效率的用户。

UP简历
UP简历 Hot

一款AI办公效率工具,主要用于基于AI技术的免费在线简历制作工具,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

讯飞绘文

讯飞绘文是一款由科大讯飞推出的一站式 AIGC 内容运营平台。

咔片AIPPT

一款在线AI演示文稿制作工具,可根据主题和内容需求辅助生成PPT结构与页面,提高演示材料制作效率。

PixTV
PixTV Hot

PixTV是一款面向AIGC内容创作的AI视频生成工具。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

相关专题

更多
vscode是什么_vscode怎么安装配置
vscode是什么_vscode怎么安装配置

VS Code(Visual Studio Code)是一款免费、开源的跨平台代码编辑器,由微软开发和维护。它被广泛用于软件开发和编程,支持多种编程语言和框架。VS Code 同时提供了丰富的功能和扩展性,使开发者可以高效地编写、编辑和调试代码。

1415

2023.06.30

vscode怎么运行代码
vscode怎么运行代码

vscode是一个运行于MacOS X、Windows和Linux之上的,针对于编写现代Web和云应用的跨平台源代码编辑器;vscode免费而且功能强大,对JavaScript和NodeJS的支持非常好,自带很多功能,例如代码格式化,代码智能提示补全、Emmet插件等。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2992

2023.07.21

vscode使用的框架介绍
vscode使用的框架介绍

VSCode是一款跨平台代码编辑器,它基于Electron框架和Monaco Editor构建。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2009

2024.03.14

vscode一般用来写什么语言
vscode一般用来写什么语言

VSCode是一款功能强大的代码编辑器,支持多种编程语言和文件格式。它内置对 JavaScript、Python、Java、C++、TypeScript、HTML/CSS、Go 等语言的支持。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

1747

2024.03.14

vscode可以写什么语言
vscode可以写什么语言

vscode是一款强大的代码编辑器,支持多种编程语言的开发。通过安装扩展,可以为 JavaScript/TypeScript、Python、Java、C#、PHP、Go、Ruby、Rust、HTML/CSS 等语言提供智能代码补全、调试和格式化等功能。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2607

2024.03.15

vscode中文设置方法
vscode中文设置方法

方法一:在设置页面中,搜索“locale”,并选择“zh-cn”。方法二:按“Ctrl Shift P”快捷键,输入“Configure Display Language”,将语言修改为“zh-cn”。如果上述方法无效,可考虑安装中文插件。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

1838

2024.03.15

vscode用途介绍
vscode用途介绍

Visual Studio Code(VSCode)是一款由 Microsoft 开发的多功能文本编辑器,适用于各种编程语言。作为一款开源软件,VSCode 拥有代码高亮、自动补全、调试、Git 集成等强大功能,成为程序员不可或缺的工具。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

1262

2024.03.15

vscode和visualstudio的区别
vscode和visualstudio的区别

Visual Studio是一款功能强大的集成开发环境(IDE),适用于专业开发人员进行复杂项目的构建。而VSCode则是一款轻量级的代码编辑器,更适合各种规模的项目开发。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

1116

2024.03.15

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

0

2026.10.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn