如何通过PowerShell在WSL中启动Jupyter Notebook并创建快捷方式
解决方案
问题根因
你遇到的两个报错都来自WSL调用bash的默认逻辑:
- 找不到命令:
wsl -e bash -c "xxx"默认调用非登录、非交互模式的bash,不会加载~/.bashrc、~/.profile中的Anaconda环境变量配置,因此找不到你安装在conda环境里的jupyter命令 - 终端闪退:单条命令执行完成后,WSL会话会直接终止,对应终端窗口也会同步关闭
可用启动命令
方法1:使用登录式交互bash加载环境
直接给bash加-l(加载登录配置)和-i(交互模式)参数即可:
wsl -e bash -lic "jupyter notebook"
如果要启动时自动激活指定conda环境,可以修改命令如下:
wsl -e bash -lic "conda activate base && jupyter notebook"
方法2:直接调用jupyter绝对路径(更稳定)
先在WSL终端中执行which jupyter获取jupyter的绝对路径,示例返回结果如下:
/home/artem/anaconda3/bin/jupyter
将返回的路径替换到启动命令中即可,无需加载环境配置:
wsl -e /home/artem/anaconda3/bin/jupyter notebook
制作Windows快捷方式
- 新建PowerShell脚本,命名为
Start-WSLJupyter.ps1,写入以下内容:
# 替换为你自己的启动命令 wsl -e bash -lic "jupyter notebook" # 可选:保留PowerShell窗口,避免执行完直接退出 Read-Host "按回车键关闭窗口,Jupyter服务将同步停止"
- 右键桌面→新建→快捷方式,在「请键入对象的位置」输入框中填入:
powershell.exe -ExecutionPolicy Bypass -File "C:\你存放脚本的完整路径\Start-WSLJupyter.ps1"
- 点击下一步,给快捷方式命名(如「WSL Jupyter Notebook」),完成创建。后续双击即可直接启动WSL内的Jupyter服务,Windows端浏览器会自动弹出访问界面。
内容的提问来源于stack exchange,提问作者QuadR
相关产品推荐
相关产品推荐

