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

在Udacity的Jupyter环境使用wptools出现SSL证书过期错误的求助

报错原因与解决方案

问题原因

error: (60, 'SSL certificate problem: certificate has expired')

该报错是wptools底层依赖的pycurl库发起HTTPS请求时,Udacity Jupyter环境内置的CA根证书未包含维基百科当前使用的证书签发机构的根证书,导致校验失败。

解决方案

方案1:临时关闭SSL校验(最快适配学习环境)

直接运行以下代码即可覆盖原有请求逻辑跳过SSL校验:

import wptools
import pycurl
from io import BytesIO
from wptools.request import curl_info

# 补丁:修改wptools请求逻辑跳过SSL证书校验
def patched_curl_perform(self, crl):
    # 关闭SSL校验
    crl.setopt(pycurl.SSL_VERIFYPEER, 0)
    crl.setopt(pycurl.SSL_VERIFYHOST, 0)
    bfr = BytesIO()
    crl.setopt(crl.WRITEFUNCTION, bfr.write)
    crl.perform()
    info = curl_info(crl)
    if info and self.show:
        import json
        print(json.dumps(info, indent=2))
    return bfr.getvalue()

from wptools.request import WPToolsRequest
WPToolsRequest.curl_perform = patched_curl_perform

# 执行原有逻辑
page = wptools.page('E.T._the_Extra-Terrestrial').get()

方案2:升级环境依赖(治本)

在Jupyter单元格中执行以下命令更新证书和依赖库:

!sudo update-ca-certificates
!pip install --upgrade pycurl certifi wptools

执行完成后再运行原有代码即可。

方案3:替换工具库(同时解决Windows本地安装问题)

wptools依赖pycurl,对系统环境要求较高,可换成无系统依赖的wikipedia-api库,Windows和Udacity环境都能直接安装使用:

  1. 安装库:
!pip install wikipedia-api
  1. 使用示例:
import wikipediaapi
wiki = wikipediaapi.Wikipedia('en')
page = wiki.page('E.T._the_Extra-Terrestrial')
# 可直接获取页面摘要、正文、链接等信息
print(page.summary)

Windows本地安装wptools失败解决方法

安装失败通常是因为缺少pycurl的编译依赖,可直接安装预编译的pycurl包,或者直接使用上面提到的wikipedia-api替代,无需额外配置就能直接安装使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 15:06:03