在Linux环境中启动了Jupyter Notebook服务器,如何在Windows的VS Code中编辑和运行.ipynb文件(需要Linux环境中配好的虚拟环境)
我们知道Linux环境中启动Jupyter Notebook服务器,可以在网页Jupyter方式编辑和运行.ipynb文件。如何利用你已安装好的windows下的VSCode来取代网页环境呢?
如果你的Linux环境是本机的(比如通过WSL [Windows Subsystem for Linux] 在Windows上运行的Linux子系统),并且在这个Linux环境中启动了Jupyter Notebook服务器,那么在Windows的VS Code中编辑和运行.ipynb文件会很简单,核心是利用VS Code对WSL的原生支持和Jupyter的本地连接能力。
前提条件
- 已在Windows上安装VS Code
- 已启用WSL(或其他本机Linux环境,如,Ubuntu),并在Linux中安装了Jupyter Notebook(
pip install jupyter或通过Anaconda安装) - 已在Linux中已激活虚拟环境(
source venv/bin/activate)启动Jupyter服务器(后续步骤会说明启动方式)
具体操作步骤
1. 在Linux(WSL)中启动Jupyter服务器
1. 在Ubuntu中启动Jupyter服务器(带外部访问权限)
在Ubuntu终端中,进入虚拟环境并启动Jupyter,必须允许Windows访问:
# 激活虚拟环境
source venv/bin/activate
# 启动Jupyter服务器,允许外部连接(关键参数)
jupyter notebook --no-browser --port=8888
--no-browser:不在Ubuntu中自动打开网页--port=8888:端口号(可自定义,确保未被占用)
启动后,终端会输出类似信息,记录包含token的URL(例如):
http://localhost:8888/tree?token=7ad24d599935ed21fbfbb09b9e168a874102c199af92dfdb
2. 在Windows的VS Code中安装必要扩展
打开Windows的VS Code,安装以下扩展(在左侧扩展面板搜索):
- WSL(扩展ID:
ms-vscode-remote.remote-wsl):用于直接访问WSL中的文件系统和环境 - Jupyter(扩展ID:
ms-toolsai.jupyter):用于处理.ipynb文件和连接Jupyter内核
3. 连接到WSL环境
在VS Code中通过WSL扩展直接进入Linux环境:
- 按下
Ctrl+Shift+P打开命令面板 - 输入并选择 WSL: Connect to WSL
- 选择你的Linux发行版(如Ubuntu),VS Code会自动连接到WSL环境(窗口左下角会显示
WSL: Ubuntu等标识)
4. 打开Linux中的.ipynb文件
连接到WSL后,VS Code中可以直接访问Linux中的文件和windows中的文件 :
- 按下
Ctrl+O打开文件选择器,或通过左侧「资源管理器」点击「打开文件夹」 - 路径格式为WSL中的绝对路径(如
/home/your-username/notebooks/),选择你要编辑的.ipynb文件 ,windows中绝对路径中“C:”改为“/mnt/c/”,注意斜线的方向。
5. 连接到本地Linux的Jupyter服务器
打开.ipynb文件后,VS Code会自动检测可用的Jupyter内核,若未自动连接,手动配置:
- 找到内核显示的位置(VS Code右上,文件名栏目下):点击VS Code右上角的「选择内核」(或单元格上方的「未选择内核」) 选择内核处点入去换other
- 选择「现有Jupyter服务器」→「输入服务器URL」
- 粘贴步骤1中记录的URL(例如
http://localhost:8888/?token=xxxxxx) - 上述即:Select Kernel–>Existing jupyter server -->URL
- 出现“python3(ipykernel”,点中它
- VS Code连接到Linux中的Jupyter服务器时, 选内核处变为python3(ipykernel
6. 运行代码
连接成功后,即可在VS Code中编辑单元格,并点击运行按钮(▶️)执行代码。代码会在Linux环境中运行(使用Linux的Python内核和资源),结果实时显示在Windows的VS Code中。
在.ipynb文件中执行以下代码,确认是否使用Ubuntu虚拟环境中的Python:
import sys
print(sys.executable) # 输出应包含Ubuntu中虚拟环境的路径,如 /home/用户名/venv/bin/python
若路径正确,说明环境关联成功,
平时的工作
上述安装好后,平时的工作总结一下:
linux服务器端(即进入linux终端命令行状态)
- cd 到工作区
- 启动虚拟环境(如果有的话)
source venv/bin/activate
- 启动Jupyter服务器
jupyter notebook --ip=0.0.0.0 --no-browser --port=8888
windows的VSCode端
- 启动VSCode
- 连到WS:通过顶上view–>command palette,选WSL:connect WSL
- 通过左侧导航到工作目录中
- 打开.ipynb文件
- 选择由服务器提供的核(python 3 (ipykernel):右上角选核的地方进入,将服务器终端中提供的URL拷入输入框中,出现(python 3 (ipykernel),点中它
- 开始编辑工作
其它
- 服务器的工作目录与VSCode的工作目录最好相同,否则,程序中的相对路径不好配,因为,程序实际上是在服务器端运行。
- 报错信息分两处:服务器端(监控台)和VSCode的.ipynb中







