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

Python跨文件导入依赖numpy的函数时报np未定义错误是什么原因

问题解决方法

问题根因

你贴出的A.py代码和实际执行的A.py代码不一致,从报错堆栈可以看到,当前运行的A.py第一行是import numpy,没有声明np别名,因此函数内部调用np.sum()时找不到对应的名称定义。

解决步骤

  • 第一步:确认A.py的导入语句正确,完整写法如下,修改后务必保存A.py文件:
# A.py 完整正确代码
import numpy as np
def get_total(list):
    return np.sum(list)
  • 第二步:删除项目目录下的__pycache__缓存文件夹,避免Python调用未更新的旧版本编译缓存。
  • 第三步:如果是在交互式环境(Jupyter、IPython等)中运行代码,需要重启运行内核重新导入模块,也可以用以下代码重载模块避免重启:
import importlib
import A
importlib.reload(A)
from A import get_total

扩展替代写法

如果你不想使用别名,可以调整A.py的导入和调用方式,避免名称不匹配问题:

# 写法1:直接导入numpy不设别名,调用时写全模块名
import numpy
def get_total(list):
    return numpy.sum(list)

# 写法2:直接导入需要的方法
from numpy import sum
def get_total(list):
    return sum(list)

修改完成后重新运行B.py,即可正常输出结果15。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.12 10:12:02