Jupyter Lab中使用PyPlot出现依赖警告 Pkg.resolve无效求助
针对FixedPointNumbers依赖警告的修复方案
这个提示本质是已安装的FixedPointNumbers版本与当前Julia环境的依赖解析状态出现版本漂移,不属于会中断运行的致命错误,即便不处理也不会影响PyPlot的正常绘图功能,如果要彻底消除弹出的警告,可以按以下顺序排查操作:
- 先确认Jupyter Lab绑定的Julia内核实际激活的环境:很多时候你之前执行
Pkg.resolve()是在REPL的独立默认环境下操作的,和Jupyter内核实际加载的项目环境并不一致- 在Jupyter的Julia内核中依次运行代码确认:
using Pkg; Pkg.status()查看当前环境下的已安装包版本列表- 比对版本是否和你之前执行resolve操作的环境匹配,如果不一致,直接在内核中执行
Pkg.activate()重新指向你日常使用的项目环境
- 在Jupyter的Julia内核中依次运行代码确认:
- 拉取FixedPointNumbers的正式发布版,覆盖本地可能存在的滞后开发版
确认环境激活正确后,在Julia的Pkg模式(REPL中按]键进入)执行:update FixedPointNumbers
本地滞后的开发版FixedPointNumbers经常未在依赖列表中声明Statistics模块,拉取对应Julia版本的最新正式版即可补全这个缺失的依赖声明
- 清理残留的旧预编译缓存
即使完成包更新和resolve操作,未同步的旧预编译缓存依然会让警告反复弹出:- 关闭所有正在运行的Julia进程,包括Jupyter Lab的后端服务
- 定位到对应Julia版本的本地编译缓存目录,删除FixedPointNumbers对应的缓存子文件夹
- 重启服务后首次加载PyPlot时会自动触发重新预编译,警告就会彻底消失
- 如果你确实是本地检出了FixedPointNumbers源码做二次开发
按照警告提示的逻辑,在当前激活的项目环境下执行Pkg.add("Statistics")作为FixedPointNumbers的显式依赖,再跑一次Pkg.resolve()同步环境清单,即可避免跨包隐式加载触发的警告。
内容的提问来源于stack exchange,提问作者Andrea
相关产品推荐
相关产品推荐

