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

PyScript调用requests请求GitHub报SSL模块不可用如何解决

问题根因

浏览器端运行的PyScript本质是基于WASM编译的Pyodide运行时,和你本地安装的原生CPython环境有本质区别:

  1. Pyodide的WASM运行时没有编译原生SSL模块,urllib3、requests这类依赖原生socket、原生SSL栈的库无法在这个环境下正常发起HTTPS请求
  2. 你本地设置verify=False能生效,是因为本地原生Python有完整的SSL实现,只是关闭了证书校验逻辑;但浏览器环境下根本没有这套原生网络栈,这个参数完全不生效,和你试了多少本地环境的SSL修复方案都没关系。
修复方法

把所有requests发起的网络请求,全部替换为Pyodide官方提供的pyodide.http.open_url方法,这个方法底层走浏览器原生Fetch API,HTTPS证书校验由浏览器底层自动处理,不需要手动配置SSL相关参数,也不会报SSL模块缺失的错误。
具体修改点:

  • 删除代码中import requests的导入语句,以及代码里没有实际用到的glob、os、sys冗余导入
  • 用open_url替代requests.get拉取GitHub页面内容
  • 读取CSV文件时,同样用open_url包装raw格式的文件地址,再传给pandas读取,避免pandas默认调用urllib3触发SSL错误

修正后的完整可运行代码如下:

<py-env>
   - matplotlib
   - pandas
   - seaborn
   - lxml
</py-env>

<py-script>
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from js import document
from pyodide import create_proxy
from pyodide.http import open_url
from lxml import html

# 拉取数据逻辑
def selectChange(event):
    # 用open_url替代requests.get拉取页面
    page_content = open_url('https://github.com/Nitink2001/EnergyUpgraded.git').read()
    webpage = html.fromstring(page_content)
    path = webpage.xpath('//a/@href')
    li = []
    for p in path:
        if p.endswith('.csv'):
            url = 'https://github.com'+p.replace('/blob/', '/raw/')
            # 读CSV同样用open_url包装地址
            df = pd.read_csv(open_url(url))
            li.append(df.T)
    frame = pd.concat(li)
    frame.dropna(inplace=True)
    print(frame.head())
    choice = document.getElementById("hdem").value
    print(choice)
    
def setup():
    change_proxy = create_proxy(selectChange)
    e = document.getElementById("hdem")
    e.addEventListener("change", change_proxy)
setup()
</py-script>
注意事项
  • 不要尝试在Pyodide环境中重装ssl、requests、urllib3类的包修复问题,这个错误是WASM运行时的架构限制导致的,不是缺包或者配置错参数,所有本地Python环境的SSL修复方案在这个场景下都无效
  • 不需要设置任何verify=False类的参数,浏览器会自动处理HTTPS连接的证书校验,只要目标地址的证书本身是浏览器信任的,就能正常拉取数据

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 17:57:15