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?

_______________________________________________
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9

Reply via email to