Python 3.8.10 (default, May 6 2021, 00:05:59)
[GCC 10.2.1 20201203] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import chant21
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python3.8/site-packages/chant21/__init__.py", line 16, in <module>
from .gabc import *
File "/usr/lib/python3.8/site-packages/chant21/gabc/__init__.py", line 2, in <module>
from .converter import *
File "/usr/lib/python3.8/site-packages/chant21/gabc/converter.py", line 10, in <module>
from .. import chant
File "/usr/lib/python3.8/site-packages/chant21/chant.py", line 26, in <module>
from .html import toFile
File "/usr/lib/python3.8/site-packages/chant21/html/__init__.py", line 42, in <module>
WIDGET = TEMPLATE_ENV.get_template('widget.html')
File "/usr/lib/python3.8/site-packages/jinja2/environment.py", line 997, in get_template
return self._load_template(name, globals)
File "/usr/lib/python3.8/site-packages/jinja2/environment.py", line 958, in _load_template
template = self.loader.load(self, name, self.make_globals(globals))
File "/usr/lib/python3.8/site-packages/jinja2/loaders.py", line 137, in load
code = environment.compile(source, name, filename)
File "/usr/lib/python3.8/site-packages/jinja2/environment.py", line 750, in compile
source = self._generate(source, name, filename, defer_init=defer_init)
File "/usr/lib/python3.8/site-packages/jinja2/environment.py", line 678, in _generate
return generate( # type: ignore
File "/usr/lib/python3.8/site-packages/jinja2/compiler.py", line 117, in generate
generator.visit(node)
File "/usr/lib/python3.8/site-packages/jinja2/visitor.py", line 40, in visit
return f(node, *args, **kwargs)
File "/usr/lib/python3.8/site-packages/jinja2/compiler.py", line 888, in visit_Template
self.blockvisit(node.body, frame)
File "/usr/lib/python3.8/site-packages/jinja2/compiler.py", line 449, in blockvisit
self.visit(node, frame)
File "/usr/lib/python3.8/site-packages/jinja2/visitor.py", line 40, in visit
return f(node, *args, **kwargs)
File "/usr/lib/python3.8/site-packages/jinja2/compiler.py", line 1582, in visit_AssignBlock
self.pop_assign_tracking(frame)
File "/usr/lib/python3.8/site-packages/jinja2/compiler.py", line 813, in pop_assign_tracking
ref = frame.symbols.ref(name)
File "/usr/lib/python3.8/site-packages/jinja2/idtracking.py", line 80, in ref
raise AssertionError(
AssertionError: Tried to resolve a name to a reference that was unknown to the frame ('_')
>>> import jinja2
>>> jinja2.__version__
'3.0.1'
On Python 3.8 i pip-installed chant21, but it crashes on import
The error seems to be caused by
chant21/chant21/html/widget.html
Line 8 in 475689c
Installed jinja2 version:
Downgrading jinja2 to 2.11.3 (current result of
pip install jinja2<3.0) fixes the issue. It seems that the current jinja2 version constraint insetup.py("Jinja2>=2.11.1") is not completely accurate and the library is in fact incompatible with jinja2 >= 3.0.