You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

运行JupyterLab nbconvert转webpdf时出现SSL证书错误

解决Jupyter nbconvert转WebPDF时的SSL证书验证问题

问题背景

使用jupyter nbconvert --to pdf转PDF时图表格式错乱,尝试转WebPDF时执行以下命令:

jupyter nbconvert --to webpdf --allow-chromium-download 'NB.ipynb' --template='base.tex.j2'

出现SSL证书错误:

urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='storage.googleapis.com', port=443): Max retries exceeded with url: /chromium-browser-snapshots/Win_x64/588429/chrome-win32.zip (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate in certificate chain'

解决方案

1. 手动下载Chromium并指定路径(最安全)

避免nbconvert自动下载时触发SSL验证,手动获取对应版本的Chromium:

  • 根据错误信息确定版本:Win_x64/588429,手动用浏览器下载对应压缩包(浏览器通常已信任内网/自签名证书)
  • 解压到本地路径,比如C:\chromium-win32(Windows)或~/chromium-win32(Linux/macOS)
  • 执行nbconvert时指定浏览器路径:
# Windows示例
jupyter nbconvert --to webpdf 'NB.ipynb' --browser-executable-path='C:\chromium-win32\chrome.exe'

# Linux/macOS示例
jupyter nbconvert --to webpdf 'NB.ipynb' --browser-executable-path='~/chromium-win32/chrome'

2. 临时绕过Python SSL验证(仅紧急场景使用)

通过设置Python环境变量,临时禁用HTTPS证书验证:

  • Windows(CMD):
set PYTHONHTTPSVERIFY=0
jupyter nbconvert --to webpdf --allow-chromium-download 'NB.ipynb'

或合并为单条命令:

set PYTHONHTTPSVERIFY=0 && jupyter nbconvert --to webpdf --allow-chromium-download 'NB.ipynb'
  • Linux/macOS:
PYTHONHTTPSVERIFY=0 jupyter nbconvert --to webpdf --allow-chromium-download 'NB.ipynb'

注意:此方法会禁用Python所有请求的SSL验证,存在安全风险,仅在临时场景使用。

3. 信任自签名证书(长期解决方案)

如果是内网自签名证书导致的错误,将证书添加到系统信任库:

  • Windows:
    1. 用浏览器访问storage.googleapis.com,查看并导出网站的自签名证书
    2. 打开「证书管理器」,将证书导入「受信任的根证书颁发机构」
  • Linux:
    1. 将证书文件放到/usr/local/share/ca-certificates/目录
    2. 执行update-ca-certificates更新证书库
  • macOS:
    1. 用浏览器导出证书
    2. 打开「钥匙串访问」,导入证书并设置为「始终信任」

内容的提问来源于stack exchange,提问作者MarcB1111

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 16:01:20