调用含interval参数的get_yfinance函数时报意外关键字参数错误
问题排查与解决方案
这个错误的核心原因是:你实际调用的get_yfinance函数和你贴出的定义版本不是同一个,调用的版本参数列表里没有interval参数。
排查步骤
- 第一步:验证函数签名,在调用代码前加入以下代码,确认你调用的函数参数是否符合预期:
import inspect print(inspect.signature(get_yfinance)) print(get_yfinance.__module__) # 查看函数所属模块
如果输出的参数列表没有interval,即可确认是函数导入错误。
- 第二步:排查导入逻辑,你代码中用了
from findata import *导入该函数,按以下顺序检查:- 确认你修改后的
get_yfinance函数已经正确保存到findata模块对应的文件中,没有遗漏保存的情况 - 打印
get_yfinance.__file__查看函数对应的文件路径,确认是不是你正在编辑的那个文件 - 如果路径正确,说明Python加载了旧版本的模块缓存,你可以重启Python解释器,或者用以下代码重载模块:
import importlib import findata importlib.reload(findata) from findata import get_yfinance - 确认你修改后的
- 第三步:检查脚本内代码顺序,确认
get_yfinance的定义代码在调用代码之前,避免调用到脚本上方导入的旧同名函数。
补充说明
你贴出的函数定义本身没有语法问题,参数interval是合法的可传入参数,报错和@retry装饰器也没有关联,所有问题都指向调用的函数不是你当前编辑的版本。
内容的提问来源于stack exchange,提问作者morgan
相关产品推荐
相关产品推荐

