You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Visual Studio Code中如何调用其他Jupyter notebook内的函数

VS Code Jupyter 跨Notebook调用自定义函数解决方案

VS Code的Jupyter扩展默认对%run运行其他ipynb文件的兼容性较差,可通过以下3种成熟方案实现需求:

方法1:使用import_ipynb库(最贴近原生%run体验)

无需导出文件,直接导入另一个notebook作为模块使用:

  • 第一步安装依赖:在终端执行命令 pip install import_ipynb
  • 在需要调用函数的notebook开头运行以下代码:
import import_ipynb
# 假设存放自定义函数的notebook名为utils.ipynb,和当前notebook处于同一目录
import utils
  • 后续直接通过utils.你的函数名()的格式调用即可。如果修改了utils.ipynb里的函数内容,执行重载即可更新:
import importlib
importlib.reload(utils)

方法2:导出为py文件调用(无额外依赖,稳定性最高)

  • 打开存放自定义函数的notebook,点击VS Code右上角的导出按钮,选择导出为Python文件(命名为utils.py即可),也可在终端执行命令jupyter nbconvert --to script utils.ipynb完成导出
  • 在需要调用的notebook中直接导入:
# 导入所有函数
from utils import *
# 也可指定导入特定函数
from utils import 处理函数1, 计算函数2

注意:如果修改了原notebook内的函数,需要重新导出一次py文件才会生效,常规使用场景下手动导出完全足够。

方法3:兼容%run指令写法

部分版本的VS Code Jupyter扩展支持带明确路径的%run指令,可按以下步骤尝试:

  • 先运行%pwd查看当前notebook的工作目录,运行%cd 目标目录切换到存放公共函数notebook的目录
  • 再执行%run "utils.ipynb"即可,路径含特殊字符时必须加引号包裹。

通用提示:不管使用哪种方法,建议在公共函数notebook中把测试用的执行代码用条件判断包裹,避免导入时自动运行:

if __name__ == "__main__":
    # 此处放测试代码,导入其他notebook时不会执行
    test_your_func()

内容的提问来源于stack exchange,提问作者lyubol

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 07:45:04