VSCode运行Python脚本/Notebook时如何共享对象到交互窗口?
VSCode中Python脚本与同内核交互窗口的对象共享方法
问题原因
默认情况下,VSCode运行Python脚本时会启动独立的Python解释器进程,与手动打开的交互窗口内核进程完全隔离,两者命名空间不互通,因此会出现已定义变量找不到的报错。
实现共享的操作方法
方法1:使用
%run魔术命令带参数运行脚本
在交互窗口中执行带-i参数的run命令,即可将脚本运行在当前交互窗口的命名空间中:%run -i script1.py运行完成后直接调用
x即可返回10。-i参数的作用是指定脚本在当前交互环境的命名空间内执行,而非启动独立进程。方法2:直接在交互窗口中执行脚本内容
全选脚本内的所有代码,右键选择「在交互窗口中运行选择/行」,选中的代码会直接在当前交互内核中执行,所有定义的对象会直接保存在交互窗口的命名空间内。方法3:修改默认运行配置(适合高频使用场景)
打开VSCode设置,搜索Python > Terminal: Execute In File Dir勾选启用,再设置运行文件时默认使用交互窗口的现有内核,后续点击右上角运行按钮时,代码会自动在当前打开的交互窗口内核中执行,对象自动共享。
注意事项
如果同时打开了多个交互窗口,需要确保运行脚本的内核和你要调用对象的交互窗口使用的是同一个内核实例,可点击交互窗口右上角的内核选择按钮确认匹配。
内容的提问来源于stack exchange,提问作者user15235239
相关产品推荐
相关产品推荐

