Ubuntu下Jupyter Notebook执行sudo命令输入密码的问题求助
解决方案
方案一:配置sudo免密执行指定pip命令(安全可控)
- 先在Jupyter Notebook代码块中执行
!which pip,得到Anaconda pip的绝对路径,比如/home/your-name/anaconda3/bin/pip - 打开系统终端,执行
sudo visudo编辑sudoers配置文件 - 在文件末尾添加一行(替换成你的用户名和pip路径):
your-name ALL=(ALL) NOPASSWD: /home/your-name/anaconda3/bin/pip - 按
Ctrl+O保存,Ctrl+X退出编辑 - 回到Jupyter Notebook,直接运行
!sudo /home/your-name/anaconda3/bin/pip install -e .即可,无需输入密码
方案二:使用Jupyter内置终端(完美支持交互命令)
- 经典Jupyter Notebook:点击页面右上角「New」按钮,选择「Terminal」,打开网页版系统终端
- JupyterLab:点击左侧栏的「Terminal」图标,启动系统终端
- 在这个终端里可以正常执行
sudo pip install -e .,输入密码、按回车、处理各类交互提示都和本地终端完全一致
方案三:修复echo传密码时的pip找不到问题
- 先通过
!which pip获取Anaconda pip的绝对路径 - 修改命令为指定绝对路径的形式:
password = "你的sudo密码" username = "你的系统用户名" pip_path = "/home/your-name/anaconda3/bin/pip" command = f"{pip_path} install -e ." full_command = f'echo "{password}" | sudo -S -u {username} {command}' !{full_command}
注意:此方法会在Notebook中明文存储密码,仅适合个人本地环境使用,共享环境请勿采用
方案四:利用Anaconda用户级虚拟环境(无需sudo)
- 打开系统终端,创建用户级虚拟环境:
conda create -n my-project-env python=3.10 - 激活环境并安装Jupyter:
conda activate my-project-env conda install jupyter - 在该环境下启动Jupyter Notebook:
jupyter notebook - 此时在Notebook中直接执行
!pip install -e .即可,虚拟环境拥有用户级权限,无需sudo
内容的提问来源于stack exchange,提问作者Zyzyx
相关产品推荐
相关产品推荐

