snap安装的Jupyter普通执行权限不足、sudo执行找不到命令如何解决?
故障原因说明
- 直接手动删除snap安装目录未清理snap的注册信息,导致
/snap/bin/jupyter无效软链接残留,shell优先调用该路径触发权限报错 - sudo的默认
PATH不包含普通用户的pip安装路径(通常是~/.local/bin),所以sudo找不到pip安装的jupyter命令
步骤1:彻底清理Snap版Jupyter残留
- 执行snap官方清理命令,清除注册信息和残留配置:
sudo snap remove --purge jupyter
- 删除残留的无效软链接:
sudo rm -rf /snap/bin/jupyter*
- 清空shell的命令路径缓存,避免调用旧路径:
hash -r
步骤2:清理历史pip安装残留
依次执行以下命令清除所有jupyter相关组件,根据你的python版本替换pip为pip3:
# 清理普通用户级安装的jupyter pip uninstall -y jupyter jupyterlab jupyter-core nbclassic # 清理root级安装的jupyter sudo pip uninstall -y jupyter jupyterlab jupyter-core nbclassic
执行完后验证无残留jupyter可执行文件,无输出即为清理完成:
which -a jupyter
如果有输出,手动删除输出的所有路径文件即可。
步骤3:重新安装Jupyter Lab
推荐普通用户级安装,避免权限问题:
pip install --user jupyterlab
安装完成后将用户pip可执行目录加入环境变量,如果你用的是bash,执行:
echo 'export PATH=$HOME/.local/bin:$PATH' >> ~/.bashrc source ~/.bashrc
如果你用的是zsh,将上述命令中的.bashrc替换为.zshrc即可。
验证运行
执行以下命令确认安装成功:
jupyter --version
正常输出版本号后,直接执行jupyter lab即可启动,无需加sudo。
内容的提问来源于stack exchange,提问作者neutrino
相关产品推荐
相关产品推荐

