Ubuntu20.04下pip3安装jupyter-lab后jupyter命令检测不到安装问题
问题根因与修复方案
触发异常的核心原因
该问题由多环境jupyter命令路径优先级冲突导致:系统中存在多个jupyter核心命令入口,pip3安装的jupyter-lab可执行文件路径在PATH优先级中高于系统默认的jupyter核心命令路径,但是jupyter核心命令的模块搜索路径未包含pip3安装jupyterlab的站点包目录,因此会出现可正常启动jupyter-lab,但jupyter --version无法检测到安装状态的矛盾情况。
排查步骤
- 执行
which jupyter查询当前生效的jupyter核心命令路径,再执行which jupyter-lab查询jupyter-lab可执行文件路径,如果两个路径不在同一个父级目录下,即可判定是多环境命令冲突导致的异常 - 执行
pip3 show jupyterlab,记录输出结果中的Location字段值,即jupyterlab实际安装的Python站点包路径 - 执行
jupyter --paths,查看输出中data分类下的路径列表,确认是否包含{上一步记录的Location}/jupyter路径,不存在即代表jupyter核心命令的搜索路径缺失
修复方案
- 优先方案:调整PATH优先级,保证pip3安装的用户级工具路径优先。Ubuntu 20.04下pip3默认将可执行文件安装到
~/.local/bin目录,在~/.bashrc(使用zsh则修改~/.zshrc)末尾添加如下内容:
保存后执行export PATH=~/.local/bin:$PATHsource ~/.bashrc生效,再次执行jupyter --version即可正常识别jupyter lab版本 - 彻底修复方案:卸载所有环境下的jupyter相关包后重新统一安装。先退出所有Python虚拟环境,依次执行
pip3 uninstall jupyter jupyter-core jupyterlab完成全量卸载,再执行pip3 install jupyterlab重新安装即可 - 临时适配方案:不需要通过
jupyter --version查询版本,直接执行jupyter-lab --version即可获取当前运行的jupyter lab真实版本,拿到版本号后即可匹配对应的KeplerGL配置规则
与KeplerGL渲染异常的关联
当jupyter核心命令无法识别jupyter lab版本时,KeplerGL的Jupyter扩展安装过程中会匹配错误的Lab版本,导致扩展适配失败无法渲染地图。修复版本检测问题后,重新安装对应版本的KeplerGL扩展即可解决渲染故障。
内容的提问来源于stack exchange,提问作者suciokhan
相关产品推荐
相关产品推荐

