cookiecutter / cookiecutter

A cross-platform command-line utility that creates projects from cookiecutters (project templates), e.g. Python package projects, C projects.
https://pypi.org/project/cookiecutter/
BSD 3-Clause "New" or "Revised" License
22.28k stars 1.99k forks source link

jinja2.exceptions.UndefinedError in HEAD version #1220

Open insspb opened 5 years ago

insspb commented 5 years ago

Description:

Unexpected exit during execution

What I've run:

cookicutter ../

Traceback (most recent call last):
  File "/home/insspb/python-boilerplate/venv/bin/cookiecutter", line 11, in <module>
    load_entry_point('cookiecutter', 'console_scripts', 'cookiecutter')()
  File "/home/insspb/python-boilerplate/venv/lib/python3.6/site-packages/click/core.py", line 764, in __call__
    return self.main(*args, **kwargs)
  File "/home/insspb/python-boilerplate/venv/lib/python3.6/site-packages/click/core.py", line 717, in main
    rv = self.invoke(ctx)
  File "/home/insspb/python-boilerplate/venv/lib/python3.6/site-packages/click/core.py", line 956, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/insspb/python-boilerplate/venv/lib/python3.6/site-packages/click/core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "/home/insspb/python-boilerplate/venv/src/cookiecutter/cookiecutter/cli.py", line 121, in main
    password=os.environ.get('COOKIECUTTER_REPO_PASSWORD')
  File "/home/insspb/python-boilerplate/venv/src/cookiecutter/cookiecutter/main.py", line 94, in cookiecutter
    output_dir=output_dir
  File "/home/insspb/python-boilerplate/venv/src/cookiecutter/cookiecutter/generate.py", line 298, in generate_files
    delete_project_on_failure
  File "/home/insspb/python-boilerplate/venv/src/cookiecutter/cookiecutter/generate.py", line 236, in _run_hook_from_repo_dir
    run_hook(hook_name, project_dir, context)
  File "/home/insspb/python-boilerplate/venv/src/cookiecutter/cookiecutter/hooks.py", line 145, in run_hook
    run_script_with_context(script, project_dir, context)
  File "/home/insspb/python-boilerplate/venv/src/cookiecutter/cookiecutter/hooks.py", line 126, in run_script_with_context
    output = template.render(**context)
  File "/home/insspb/python-boilerplate/venv/lib/python3.6/site-packages/jinja2/asyncsupport.py", line 76, in render
    return original_render(self, *args, **kwargs)
  File "/home/insspb/python-boilerplate/venv/lib/python3.6/site-packages/jinja2/environment.py", line 1008, in render
    return self.environment.handle_exception(exc_info, True)
  File "/home/insspb/python-boilerplate/venv/lib/python3.6/site-packages/jinja2/environment.py", line 780, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/home/insspb/python-boilerplate/venv/lib/python3.6/site-packages/jinja2/_compat.py", line 37, in reraise
    raise value.with_traceback(tb)
  File "<template>", line 7, in top-level template code
jinja2.exceptions.UndefinedError: 'collections.OrderedDict object' has no attribute 'module_name'
insspb commented 5 years ago

Ok, it was local template bug. But unexpected error handling. Usually short message displayed on same errors. Should investigate in future.

solomonshorser commented 1 year ago

How did you resolve this? I think I'm hitting the same bug, but everything looks OK to me. What kind of "local template bug" caused your error?