用 .bat 一键启动 Jupyter:多环境切换

​

在 Windows 下,如果直接点 Jupyter 图标再切换 kernel,常会遇到环境不稳定、依赖冲突甚至内核崩溃。更稳妥的做法是:先用 .bat 激活指定 conda 环境,再启动 Jupyter。这样环境变量、依赖路径和 Python 解释器是一致的。

一、JupyterLab 启动脚本

文件名:start_jupyterlab.bat

vbnet 复制代码
@echo off
chcp 65001 >nul
title JupyterLab Launcher

call C:\path\to\anaconda3\Scripts\activate.bat

:menu
cls
echo =========================
echo JupyterLab Menu
echo =========================
echo.
echo 1. base
echo 2. env_a
echo 3. env_b
echo.
echo 0. Exit
echo.
set /p choice=Choose environment:

if "%choice%"=="1" set ENV_NAME=base& goto launch
if "%choice%"=="2" set ENV_NAME=env_a& goto launch
if "%choice%"=="3" set ENV_NAME=env_b& goto launch
if "%choice%"=="0" goto end

pause
goto menu

:launch
cd /d G:\
call conda activate %ENV_NAME%
jupyter lab
pause
goto end

:end
exit

二、Jupyter Notebook 启动脚本

把这里:

css 复制代码
call conda activate %ENV_NAME%
jupyter lab
pause

改为:

css 复制代码
call conda activate %ENV_NAME%
jupyter notebook
pause

其余逻辑完全相同。

三、完整使用流程

  1. 安装 Anaconda 或 Miniconda。
  2. 确认 activate.bat 路径(conda的安装路径里)。
  3. 把常用环境名写进菜单。
  4. 用 cd /d 路径 指定启动根目录。
  5. 双击 .bat,输入编号,自动激活环境并启动。

四、首次启动时的根目录

Jupyter 不是系统资源管理器,它只能看到启动根目录及其子目录 。

例如:

*cd /d G:*

表示首次进入后,文件树根目录就是 G:。

如果写成某个项目目录,就只能看到该项目及其下级文件夹,不能再往上退。

五、再次启动是否会回到历史文件

  • 目录层面:仍以脚本里写的根目录为准。

  • 文件层面:

    • JupyterLab 会更倾向恢复上一次的工作区、标签页和布局。
    • Jupyter Notebook 更偏向单文件使用,历史恢复能力弱一些。

所以,Lab 更像"继续上次工作现场",Notebook 更像"重新打开一个笔记本"。

六、Notebook 和 Lab 怎么选

Jupyter Notebook

优点:轻量、简单、上手快、干扰少。

缺点:多文件管理弱,项目化体验一般。

适合:Python 初学者、单个实验、小型练习、课堂学习。

JupyterLab

优点:可同时管理 notebook、脚本、终端、文件夹,适合项目开发。

缺点:界面更复杂,资源占用略高。

适合:科研计算、图像处理、多脚本项目、长期开发用户。

七、结论

如果你经常切 conda 环境,不要依赖图标启动后再切 kernel 。

更推荐:用 .bat 先激活目标环境,再启动 Jupyter 。

入门、轻量任务用 Notebook;项目开发、多文件协同用 Lab。

核心原则只有一句:启动方式决定稳定性,根目录决定你能看到哪里。

​

相关推荐
喵了几个咪8 小时前
GoWind CMS 拆解:在 Go 里给 TipTap 搭一套 Yjs 协同后端
开发语言·后端·golang
Flynt8 小时前
我把微信运动的排行榜和定点推送复刻了一遍:100万次步数更新只要4秒,坑在别处
redis·后端·性能优化
_孤傲_10 小时前
快速掌握 MySQL 语法
数据库·后端·mysql
IT_陈寒12 小时前
Java静态变量初始化坑得我头皮发麻
前端·人工智能·后端
步行cgn12 小时前
Thymeleaf 编辑表单详解:从字段回填到模拟 PUT 请求
后端
Song_RsHt13 小时前
Redis 与微服务,什么场景下无可替代
java·redis·后端·学习·微服务
学长毕设14 小时前
基于SpringBoot的建筑材料管理系统-附源码
java·spring boot·后端
程序员cxuan14 小时前
掀桌子了!Kimi K3.1 Pro 这效果也太离谱了。
人工智能·后端·程序员
摸爬滚打的小李14 小时前
关于 Arthas
java·后端
武子康14 小时前
黑图、彩色噪声、NaN、偏色怎么排查
人工智能·后端·agent