ZoneMinder / mlapi

An easy to use/extend object recognition API you can locally install. Python+Flask. Also works with ZMES!
Other
58 stars 35 forks source link

ImportError: cannot import name 'soft_unicode' from 'markupsafe' #47

Closed themoosman closed 2 years ago

themoosman commented 2 years ago

When setting up a fresh install of mlapi, the error below occurs. It has to do with this breaking change: https://markupsafe.palletsprojects.com/en/2.1.x/changes/#version-2-1-0

root@32f4ffe5fa9a:/app# python3 mlapi.py -c /etc/mlapi/mlapiconfig.ini 
Traceback (most recent call last):
  File "mlapi.py", line 3, in <module>
    from flask import Flask, send_file, request, jsonify, render_template
  File "/usr/local/lib/python3.8/dist-packages/flask/__init__.py", line 14, in <module>
    from jinja2 import escape
  File "/usr/local/lib/python3.8/dist-packages/jinja2/__init__.py", line 12, in <module>
    from .environment import Environment
  File "/usr/local/lib/python3.8/dist-packages/jinja2/environment.py", line 25, in <module>
    from .defaults import BLOCK_END_STRING
  File "/usr/local/lib/python3.8/dist-packages/jinja2/defaults.py", line 3, in <module>
    from .filters import FILTERS as DEFAULT_FILTERS  # noqa: F401
  File "/usr/local/lib/python3.8/dist-packages/jinja2/filters.py", line 13, in <module>
    from markupsafe import soft_unicode
ImportError: cannot import name 'soft_unicode' from 'markupsafe' (/usr/local/lib/python3.8/dist-packages/markupsafe/__init__.py)
themoosman commented 2 years ago

Implemented workaround from here: https://github.com/pallets/markupsafe/issues/284