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

VS Code中如何从一个ipynb文件导入函数到另一个ipynb文件

问题描述

我尝试用最简单的方法将一个ipynb笔记本文件中的函数导入到另一个笔记本中,两个文件存放在同一文件夹下,但运行时仍然抛出错误,请问该如何解决这个问题?
操作截图

解决方案

Jupyter 默认不支持直接导入.ipynb格式文件作为模块,按普通Python模块的方式直接import会报错,可按以下几种方案解决:

方案1:使用%run魔法命令(无需额外依赖,最简单)

在当前要导入函数的笔记本中运行以下命令即可,假设存储目标函数的文件名为source.ipynb:

%run source.ipynb

运行完成后,source.ipynb中定义的所有函数、变量均可直接在当前笔记本调用。

方案2:使用nbimporter库实现标准import语法

如果需要按常规模块导入的方式调用,可先安装第三方支持库:

pip install nbimporter

安装完成后在当前笔记本中先导入依赖,再导入目标笔记本即可:

import nbimporter
# 导入同目录下的source.ipynb,不需要加文件后缀
import source
# 调用函数示例
source.自定义函数名()

方案3:导出为py文件(通用性最高)

将需要复用的函数从原笔记本中复制出来,保存为同目录下的.py文件,比如命名为utils.py,之后就可以按普通Python模块的方式导入:

from utils import 自定义函数名

常见避坑点

  • 先确认当前Jupyter的工作目录和两个文件的存放目录一致,可运行import os; print(os.getcwd())查看当前工作路径,路径不对的话用os.chdir("目标文件夹绝对路径")切换。
  • 两个笔记本的文件名不要包含中文、空格、特殊符号,也不要和Python内置库(比如math、random)重名,避免导入冲突。
  • 原笔记本中定义目标函数的单元格必须无语法错误,且已经成功运行过。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 01:36:04