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

同Python环境下PyCaret的setup函数在Jupyter Lab可用VS Code调试报错

VS Code中PyCaret setup函数触发trio断言错误排查方案

问题重现

  • 执行代码:
from pycaret.regression import * # 尝试过带/不带oop写法
from pycaret.datasets import get_data

data = get_data('insurance')
s = setup(data, target = 'charges', session_id = 123)
  • Jupyter Lab可正常运行,VS Code调试时setup仅显示"Error:",单独执行该代码触发AssertionError,错误溯源指向trio库的断言失败。
  • 已尝试操作:升级gradio、httpx、trio;安装PyCaret[full]完整依赖;确认使用同一Python环境(PyCaret版本3.2.0)。

可行排查方案

1. 禁用PyCaret交互式特性

VS Code调试环境可能与PyCaret的交互式组件(依赖trio/gradio)冲突,在setup中添加参数禁用交互:

s = setup(data, target='charges', session_id=123, html=False, silent=True)
  • html=False:关闭HTML报告生成,避免启动gradio服务
  • silent=True:静默模式运行,跳过用户确认步骤

2. 配置VS Code调试环境

在.vscode/launch.json中添加环境变量,强制PyCaret以CLI模式运行:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: Current File",
            "type": "python",
            "request": "launch",
            "program": "${file}",
            "console": "integratedTerminal",
            "env": {"PYCARET_CLI_MODE": "1"}
        }
    ]
}

3. 降级trio到兼容版本

PyCaret 3.2.0对trio版本存在隐性兼容要求,尝试降级至trio 0.22.0:

pip install trio==0.22.0

4. 调整VS Code调试模式

确保VS Code Python插件为最新版,调试时关闭"Jupyter Interactive Window"模式,改用普通终端执行,避免异步上下文冲突。

验证方法

执行任一方案后重新运行代码,若setup正常执行,再逐步移除参数(如取消silent=True),定位具体冲突点。

内容的提问来源于stack exchange,提问作者AldegarRızvan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 15:26:15