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

"Future Pending":JupyterLab中为何无法执行用户输入代码

报错根因

该报错和代码写法无关,是旧版本pyolite(Pyodide)内核的已知原生缺陷:pyolite是运行在浏览器Web Worker沙箱内的Python运行时,旧版本没有完成和JupyterLab前端输入组件的通信绑定,调用input()时前端负责拉起输入弹窗的sendInputRequest接口为空,就会触发你看到的null引用类型错误。
重启运行环境、替换raw_input()都无法解决问题:一方面环境重置不会修复内核本身的实现缺陷,另一方面pyolite基于Python 3构建,根本不存在raw_input()这个Python2专属的内置方法,替换后只会触发名称错误,该问题也和css-loader版本没有关联。

解决方法
  • 切换为标准IPython内核:将当前运行内核从pyolite更换为连接本地/服务端Python进程的常规IPython内核,原有代码不需要任何修改即可正常运行input()。
  • 必须使用pyolite内核的场景下,绕过内置input(),直接调用浏览器原生API实现输入交互,可直接替换为如下代码:
import js
number = js.prompt("enter a number: ")
print(number)
  • 升级JupyterLite部署版本到0.1.0及以上正式版,新版本的Pyodide内核已经修复了标准input()方法和前端的通信逻辑,升级后可直接使用原生input()。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 12:45:31