nbdev_export执行报错:TypeError: _default_exp_()参数不匹配
nbdev_export报错TypeError的原因及解决方法
报错原因
- nbdev旧版本对nbs目录下嵌套子文件夹的支持存在缺陷,处理子文件夹中笔记本的模块路径时,会向
_default_exp_函数传递多余参数,触发参数数量不匹配的错误。 - 笔记本中的
%default_exp魔法命令格式不符合嵌套目录规范,比如未按子文件夹层级指定模块名,导致解析逻辑出错,传递了错误数量的参数。
解决方法
- 升级nbdev至最新版本:执行命令
pip install -U nbdev,新版本修复了嵌套目录下的参数传递问题,能正确识别子文件夹中的笔记本结构。 - 修正
%default_exp命令格式:子文件夹内的笔记本需按层级指定模块名,例如weather_scripts文件夹下的笔记本,应写为%default_exp weather_scripts.your_module_name,而非直接写模块名,确保路径解析正确。 - 清理缓存后重试:先执行
nbdev_clean清理生成的缓存文件,再重新运行nbdev_export,避免旧缓存引发的异常。
内容的提问来源于stack exchange,提问作者Reut
相关产品推荐
相关产品推荐

