Hi,
I tried to install Mailman & HyperKitty according to the installation instructions and do `mailman-web migrate`, but failed.
```log
Traceback (most recent call last):
File "/srv/mailman/.pyenv/versions/3.10.5/lib/python3.10/site-packages/django/template/utils.py", line 66, in __getitem__
return self._engines[alias]
KeyError: 'django'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/srv/mailman/.pyenv/versions/3.10.5/lib/python3.10/site-packages/django/template/backends/django.py", line 121, in get_package_libraries
module = import_module(entry[1])
File "/srv/mailman/.pyenv/versions/3.10.5/lib/python3.10/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 883, in exec_module
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "/srv/mailman/.pyenv/versions/3.10.5/lib/python3.10/site-packages/hyperkitty/templatetags/decorate.py", line 4, in <module>
from hyperkitty.lib.renderer import markdown_renderer, text_renderer
File "/srv/mailman/.pyenv/versions/3.10.5/lib/python3.10/site-packages/hyperkitty/lib/renderer.py", line 6, in <module>
from mistune.plugins.extra import plugin_url
ModuleNotFoundError: No module named 'mistune.plugins.extra'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/srv/mailman/.pyenv/versions/3.10.5/bin/mailman-web", line 8, in <module>
sys.exit(main())
File "/srv/mailman/.pyenv/versions/3.10.5/lib/python3.10/site-packages/mailman_web/manage.py", line 30, in main
execute_from_command_line(sys.argv)
File "/srv/mailman/.pyenv/versions/3.10.5/lib/python3.10/site-packages/django/core/management/__init__.py", line 401, in execute_from_command_line
utility.execute()
File "/srv/mailman/.pyenv/versions/3.10.5/lib/python3.10/site-packages/django/core/management/__init__.py", line 395, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/srv/mailman/.pyenv/versions/3.10.5/lib/python3.10/site-packages/django/core/management/base.py", line 328, in run_from_argv
self.execute(*args, **cmd_options)
File "/srv/mailman/.pyenv/versions/3.10.5/lib/python3.10/site-packages/django/core/management/base.py", line 366, in execute
self.check()
File "/srv/mailman/.pyenv/versions/3.10.5/lib/python3.10/site-packages/django/core/management/base.py", line 392, in check
all_issues = self._run_checks(
File "/srv/mailman/.pyenv/versions/3.10.5/lib/python3.10/site-packages/django/core/management/commands/migrate.py", line 64, in _run_checks
issues.extend(super()._run_checks(**kwargs))
File "/srv/mailman/.pyenv/versions/3.10.5/lib/python3.10/site-packages/django/core/management/base.py", line 382, in _run_checks
return checks.run_checks(**kwargs)
File "/srv/mailman/.pyenv/versions/3.10.5/lib/python3.10/site-packages/django/core/checks/registry.py", line 72, in run_checks
new_errors = check(app_configs=app_configs)
File "/srv/mailman/.pyenv/versions/3.10.5/lib/python3.10/site-packages/django/contrib/admin/checks.py", line 76, in check_dependencies
for engine in engines.all():
File "/srv/mailman/.pyenv/versions/3.10.5/lib/python3.10/site-packages/django/template/utils.py", line 90, in all
return [self[alias] for alias in self]
File "/srv/mailman/.pyenv/versions/3.10.5/lib/python3.10/site-packages/django/template/utils.py", line 90, in <listcomp>
return [self[alias] for alias in self]
File "/srv/mailman/.pyenv/versions/3.10.5/lib/python3.10/site-packages/django/template/utils.py", line 81, in __getitem__
engine = engine_cls(params)
File "/srv/mailman/.pyenv/versions/3.10.5/lib/python3.10/site-packages/django/template/backends/django.py", line 25, in __init__
options['libraries'] = self.get_templatetag_libraries(libraries)
File "/srv/mailman/.pyenv/versions/3.10.5/lib/python3.10/site-packages/django/template/backends/django.py", line 43, in get_templatetag_libraries
libraries = get_installed_libraries()
File "/srv/mailman/.pyenv/versions/3.10.5/lib/python3.10/site-packages/django/template/backends/django.py", line 108, in get_installed_libraries
for name in get_package_libraries(pkg):
File "/srv/mailman/.pyenv/versions/3.10.5/lib/python3.10/site-packages/django/template/backends/django.py", line 123, in get_package_libraries
raise InvalidTemplateLibrary(
django.template.library.InvalidTemplateLibrary: Invalid template library specified. ImportError raised when trying to load 'hyperkitty.templatetags.decorate': No module named ‘mistune.plugins.extra'
```
Ok, I installed mistune 2.0.4 and retried `mailman-web migrate` but failied yet.
```log
Traceback (most recent call last):
File "/srv/mailman/.pyenv/versions/3.10.5/lib/python3.10/site-packages/django/template/utils.py", line 66, in __getitem__
return self._engines[alias]
KeyError: 'django'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/srv/mailman/.pyenv/versions/3.10.5/lib/python3.10/site-packages/django/template/backends/django.py", line 121, in get_package_libraries
module = import_module(entry[1])
File "/srv/mailman/.pyenv/versions/3.10.5/lib/python3.10/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 883, in exec_module
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "/srv/mailman/.pyenv/versions/3.10.5/lib/python3.10/site-packages/hyperkitty/templatetags/decorate.py", line 4, in <module>
from hyperkitty.lib.renderer import markdown_renderer, text_renderer
File "/srv/mailman/.pyenv/versions/3.10.5/lib/python3.10/site-packages/hyperkitty/lib/renderer.py", line 7, in <module>
from mistune.scanner import escape_html, escape_url
ImportError: cannot import name 'escape_html' from 'mistune.scanner' (/srv/mailman/.pyenv/versions/3.10.5/lib/python3.10/site-packages/mistune/scanner.py)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/srv/mailman/.pyenv/versions/3.10.5/bin/mailman-web", line 8, in <module>
sys.exit(main())
File "/srv/mailman/.pyenv/versions/3.10.5/lib/python3.10/site-packages/mailman_web/manage.py", line 30, in main
execute_from_command_line(sys.argv)
File "/srv/mailman/.pyenv/versions/3.10.5/lib/python3.10/site-packages/django/core/management/__init__.py", line 401, in execute_from_command_line
utility.execute()
File "/srv/mailman/.pyenv/versions/3.10.5/lib/python3.10/site-packages/django/core/management/__init__.py", line 395, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/srv/mailman/.pyenv/versions/3.10.5/lib/python3.10/site-packages/django/core/management/base.py", line 328, in run_from_argv
self.execute(*args, **cmd_options)
File "/srv/mailman/.pyenv/versions/3.10.5/lib/python3.10/site-packages/django/core/management/base.py", line 366, in execute
self.check()
File "/srv/mailman/.pyenv/versions/3.10.5/lib/python3.10/site-packages/django/core/management/base.py", line 392, in check
all_issues = self._run_checks(
File "/srv/mailman/.pyenv/versions/3.10.5/lib/python3.10/site-packages/django/core/management/commands/migrate.py", line 64, in _run_checks
issues.extend(super()._run_checks(**kwargs))
File "/srv/mailman/.pyenv/versions/3.10.5/lib/python3.10/site-packages/django/core/management/base.py", line 382, in _run_checks
return checks.run_checks(**kwargs)
File "/srv/mailman/.pyenv/versions/3.10.5/lib/python3.10/site-packages/django/core/checks/registry.py", line 72, in run_checks
new_errors = check(app_configs=app_configs)
File "/srv/mailman/.pyenv/versions/3.10.5/lib/python3.10/site-packages/django/contrib/admin/checks.py", line 76, in check_dependencies
for engine in engines.all():
File "/srv/mailman/.pyenv/versions/3.10.5/lib/python3.10/site-packages/django/template/utils.py", line 90, in all
return [self[alias] for alias in self]
File "/srv/mailman/.pyenv/versions/3.10.5/lib/python3.10/site-packages/django/template/utils.py", line 90, in <listcomp>
return [self[alias] for alias in self]
File "/srv/mailman/.pyenv/versions/3.10.5/lib/python3.10/site-packages/django/template/utils.py", line 81, in __getitem__
engine = engine_cls(params)
File "/srv/mailman/.pyenv/versions/3.10.5/lib/python3.10/site-packages/django/template/backends/django.py", line 25, in __init__
options['libraries'] = self.get_templatetag_libraries(libraries)
File "/srv/mailman/.pyenv/versions/3.10.5/lib/python3.10/site-packages/django/template/backends/django.py", line 43, in get_templatetag_libraries
libraries = get_installed_libraries()
File "/srv/mailman/.pyenv/versions/3.10.5/lib/python3.10/site-packages/django/template/backends/django.py", line 108, in get_installed_libraries
for name in get_package_libraries(pkg):
File "/srv/mailman/.pyenv/versions/3.10.5/lib/python3.10/site-packages/django/template/backends/django.py", line 123, in get_package_libraries
raise InvalidTemplateLibrary(
django.template.library.InvalidTemplateLibrary: Invalid template library specified. ImportError raised when trying to load 'hyperkitty.templatetags.decorate': cannot import name 'escape_html' from 'mistune.scanner' (/srv/mailman/.pyenv/versions/3.10.5/lib/python3.10/site-packages/mistune/scanner.py)
```
And then, I modified hyperkitty/lib/renderer.py as below:
```
--- renderer.py.orig 2022-07-26 04:41:01.244307778 +0900
+++ renderer.py 2022-07-26 04:35:14.096672198 +0900
@@ -4,7 +4,7 @@
import mistune
from mistune.plugins.extra import plugin_url
-from mistune.scanner import escape_html, escape_url
+from mistune.util import escape_html, escape_url
class MyRenderer(mistune.HTMLRenderer):
```
Then retried, I migrated databases successfully. Is this a bug?