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

如何解决Cookiecutter中的FileNotFoundError:选择依赖后异常文件夹与文件缺失

解决Cookiecutter模板变量未渲染及FileNotFoundError问题

问题根源

报错显示路径中保留了原始模板变量{{ cookiecutter.project_name.lower().replace(' ', '_') }},说明Cookiecutter未正确解析模板变量,导致生成的文件夹名未替换,进而创建config/main.yaml时找不到对应目录。

解决方案

  • 检查模板配置文件
    打开模板根目录的cookiecutter.json,确认存在project_name字段,格式示例:

    {
      "project_name": "Sample ML Project",
      "dependency_manager": "pip"
    }
    

    确保字段名拼写无误,无大小写错误。

  • 清理Cookiecutter缓存
    Windows系统执行以下命令删除缓存,避免旧模板数据干扰:

    rmdir /s /q "%APPDATA%\cookiecutter"
    

    也可手动删除C:\Users\ACER\.cookiecutter目录。

  • 重新拉取/更新模板

    • 若使用远程模板,拉取最新版本:
      cookiecutter --checkout main https://github.com/your-template-repository.git
      
    • 若为本地模板,检查目录结构中变量语法是否正确,确保{{ cookiecutter.project_name.lower().replace(' ', '_') }}未被嵌套在其他未闭合的模板标签中。
  • 升级Cookiecutter版本
    旧版本可能存在变量解析bug,执行升级命令:

    pip install --upgrade cookiecutter
    

    升级后用cookiecutter --version确认版本。

  • 验证变量渲染
    使用无交互模式测试模板,手动指定project_name:

    cookiecutter --no-input --output-dir ./test-template your-template-path project_name="Test ML Project"
    

    检查./test-template下生成的文件夹名是否为test_ml_project,而非原始模板字符串。

  • 排除特殊字符干扰
    输入project_name时避免使用中文、斜杠、引号等特殊字符,仅用英文和空格,确保替换函数正常执行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 19:20:00