使用Git仓库地址调用Cookiecutter时触发NonTemplatedInputDirException错误的求助
我是一名微生物学家,有一些编程和Linux使用经验,最近遇到了Cookiecutter的问题,想寻求帮助:
我自己制作了一个Cookiecutter模板,直接用本地目录地址运行时完全正常。但因为想使用Cruft来更新项目,需要把模板放到Git仓库里,于是我把模板上传到了自己的Git仓库,然后用cookiecutter git/repo/address命令调用它。
一开始看起来没问题,Cookiecutter正常弹出所有需要填写的配置问题,我也一一完成了输入,但就在快要完成生成项目的时候,突然抛出了NonTemplatedInputDirException错误,具体日志如下:
Traceback (most recent call last): File "/home/luisa/miniconda3/bin/cookiecutter", line 10, in <module> sys.exit(main()) File "/home/luisa/miniconda3/lib/python3.9/site-packages/click/core.py", line 1128, in __call__ return self.main(*args, **kwargs) File "/home/luisa/miniconda3/lib/python3.9/site-packages/click/core.py", line 1053, in main rv = self.invoke(ctx) File "/home/luisa/miniconda3/lib/python3.9/site-packages/click/core.py", line 1395, in invoke return ctx.invoke(self.callback, **ctx.params) File "/home/luisa/miniconda3/lib/python3.9/site-packages/click/core.py", line 754, in invoke return __callback(*args, **kwargs) File "/home/luisa/miniconda3/lib/python3.9/site-packages/cookiecutter/cli.py", line 194, in main cookiecutter( File "/home/luisa/miniconda3/lib/python3.9/site-packages/cookiecutter/main.py", line 114, in cookiecutter result = generate_files( File "/home/luisa/miniconda3/lib/python3.9/site-packages/cookiecutter/generate.py", line 281, in generate_files template_dir = find_template(repo_dir) File "/home/luisa/miniconda3/lib/python3.9/site-packages/cookiecutter/find.py", line 31, in find_template raise NonTemplatedInputDirException cookiecutter.exceptions.NonTemplatedInputDirException
第二次重新调用时,我确认删除了旧的缓存仓库,完成所有配置问答后依然报错,日志如下:
You've downloaded /home/luisa/.cookiecutters/my_repo_name before. Is it okay to delete and re-download it? [yes]: project_name [My great project name]: ThirdTrial project_author [great scientist-in-training name]: Luisa year [This year]: 2023 license [MIT]: Select files: 1 - {'template': 'README.md', 'filename': 'README.md'} 2 - {'template': 'License.txt', 'filename': 'License.txt'} Choose from 1, 2 [1]: 1 data_directory [Data]: data_raw_dir [Data/raw]: data_derived_dir [Data/derived]: data_sim_dir [Data/sim]: code_directory [Code]: code_r_directory [Code/r]: code_python_directory [Code/python]: exploratory_directory [Exploratory]: exploratory_r_directory [Exploratory/R_notebooks]: exploratory_python_directory [Exploratory/Jupyter_Notebooks]: figures_directory [Figures]: stats_directory [Stats]: manuscript_directory [Manuscript]: man_figures_directory [Manuscript/figures]: Traceback (most recent call last): File "/home/luisa/miniconda3/bin/cookiecutter", line 10, in <module> sys.exit(main()) File "/home/luisa/miniconda3/lib/python3.9/site-packages/click/core.py", line 1128, in __call__ return self.main(*args, **kwargs) File "/home/luisa/miniconda3/lib/python3.9/site-packages/click/core.py", line 1053, in main rv = self.invoke(ctx) File "/home/luisa/miniconda3/lib/python3.9/site-packages/click/core.py", line 1395, in invoke return ctx.invoke(self.callback, **ctx.params) File "/home/luisa/miniconda3/lib/python3.9/site-packages/click/core.py", line 754, in invoke return __callback(*args, **kwargs) File "/home/luisa/miniconda3/lib/python3.9/site-packages/cookiecutter/cli.py", line 194, in main cookiecutter( File "/home/luisa/miniconda3/lib/python3.9/site-packages/cookiecutter/main.py", line 114, in cookiecutter result = generate_files( File "/home/luisa/miniconda3/lib/python3.9/site-packages/cookiecutter/generate.py", line 281, in generate_files template_dir = find_template(repo_dir) File "/home/luisa/miniconda3/lib/python3.9/site-packages/cookiecutter/find.py", line 31, in find_template raise NonTemplatedInputDirException cookiecutter.exceptions.NonTemplatedInputDirException
我已经尝试过以下方法,但都没有解决问题:
- 验证Git初始化后的模板:用本地绝对路径调用Cookiecutter依然能正常生成项目,说明模板本身没问题,但用Git仓库地址调用还是失败
- 处理缓存仓库:尝试把
.cookiecutters目录复制到miniconda3目录下,没有任何改善 - 更换安装方式:完全退出conda环境,用
pip3安装Cookiecutter后重试,还是触发同样的错误
有没有人知道这是什么原因导致的?谢谢!
备注:内容来源于stack exchange,提问作者Luisa
相关产品推荐
相关产品推荐

