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

调用依赖全局环境模块的导入函数报错,如何正确调用?

解决Python函数调用的NameError问题

问题根源:函数test_func所在的文件没有导入math模块,Python的模块作用域是文件级别的——你在调用脚本里导入math,不会自动共享给test_func.py的命名空间,所以函数运行时找不到math。

方法1:修改函数定义文件(推荐)

在test_func.py开头添加math模块的导入,这是Python的规范写法,确保函数依赖的模块在自身文件中被导入:

import math

def test_func(param): 
    sqrt = math.sqrt(param)  
    return sqrt   

之后调用脚本保持不变,运行就不会报错了。

方法2:临时注入模块(不推荐)

如果无法修改原test_func.py文件,可以手动将math模块注入到test_func所在的模块命名空间中:

import math
import test_func  # 不要用from ... import *,直接导入整个模块

test_func.math = math  # 把math模块注入到test_func模块的命名空间里
test_func.test_func(param=4)

这种方法属于临时 workaround,不符合代码规范,仅作为应急手段。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 20:10:29