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

Jupyter Lab中使用ipyleaflet报错:'Map'对象无'on_displayed'属性如何解决?

修复ipyleaflet中'Map'对象无'on_displayed'属性的AttributeError错误

这个错误的核心原因是ipyleaflet与ipywidgets版本不兼容:on_displayed是旧版ipywidgets的回调方法,新版ipywidgets已移除该接口,但你安装的ipyleaflet版本仍在尝试调用它,从而触发报错。

修复方案

方案1:降级ipyleaflet到兼容版本

安装与当前ipywidgets匹配的ipyleaflet稳定版(比如0.17.x系列),执行以下命令:

pip install ipyleaflet==0.17.2

安装完成后,重启Jupyter Lab再运行代码即可。

方案2:同步更新ipyleaflet和ipywidgets到最新稳定版

如果想使用新版功能,直接更新两者到最新兼容版本:

pip install --upgrade ipyleaflet ipywidgets

更新后同样需要重启Jupyter Lab,确保依赖生效。

验证代码

修复后,补充必要的导入语句,你的原代码可以正常运行:

# Set study area using ipyleaflet
from ipyleaflet import Map, DrawControl

m = Map(center=(14, -90), zoom=6)
draw_control = DrawControl(polyline={}, circlemarker={}, polygon={})
draw_control.rectangle = {
    "shapeOptions": {
        "fillColor": "#fca45d",
        "color": "#fca45d",
        "fillOpacity": 0.2
    }
}
m.add_control(draw_control)
m

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 11:40:13