chatdocs
chatdocs copied to clipboard
ImportError: cannot import name 'soft_unicode' from 'markupsafe'
Hi, when I try to open chatdocs ui, there is an error happened. I need some helps. Thank you.
(base) PS D:\> chatdocs ui
╭───────────────────── Traceback (most recent call last) ──────────────────────╮
│ D:\anaconda3\lib\site-packages\chatdocs\main.py:61 in ui │
│ │
│ 58 │
│ 59 @app.command() │
│ 60 def ui(config: ConfigPath = None): │
│ ❱ 61 │ from .ui import ui │
│ 62 │ │
│ 63 │ config = get_config(config) │
│ 64 │ ui(config=config) │
│ │
│ ╭─── locals ────╮ │
│ │ config = None │ │
│ ╰───────────────╯ │
│ │
│ D:\anaconda3\lib\site-packages\chatdocs\ui.py:7 in <module> │
│ │
│ 4 from threading import Thread │
│ 5 from typing import Any, Dict │
│ 6 │
│ ❱ 7 from quart import Quart, render_template, websocket │
│ 8 from rich import print │
│ 9 from rich.panel import Panel │
│ 10 │
│ │
│ ╭───────────────────────────────── locals ─────────────────────────────────╮ │
│ │ __builtins__ = { │ │
│ │ │ '__name__': 'builtins', │ │
│ │ │ '__doc__': 'Built-in functions, exceptions, and other │ │
│ │ objects.\n\nNoteworthy: None is the `nil'+46, │ │
│ │ │ '__package__': '', │ │
│ │ │ '__loader__': <class │ │
│ │ '_frozen_importlib.BuiltinImporter'>, │ │
│ │ │ '__spec__': ModuleSpec(name='builtins', loader=<class │ │
│ │ '_frozen_importlib.BuiltinImporter'>, origin='built-in'), │ │
│ │ │ '__build_class__': <built-in function │ │
│ │ __build_class__>, │ │
│ │ │ '__import__': <built-in function __import__>, │ │
│ │ │ 'abs': <built-in function abs>, │ │
│ │ │ 'all': <built-in function all>, │ │
│ │ │ 'any': <built-in function any>, │ │
│ │ │ ... +143 │ │
│ │ } │ │
│ │ __cached__ = 'D:\\anaconda3\\lib\\site-packages\\chatdocs\\__pycache_… │ │
│ │ __doc__ = None │ │
│ │ __file__ = 'D:\\anaconda3\\lib\\site-packages\\chatdocs\\ui.py' │ │
│ │ __loader__ = <_frozen_importlib_external.SourceFileLoader object at │ │
│ │ 0x0000019F72A83A90> │ │
│ │ __name__ = 'chatdocs.ui' │ │
│ │ __package__ = 'chatdocs' │ │
│ │ __spec__ = ModuleSpec(name='chatdocs.ui', │ │
│ │ loader=<_frozen_importlib_external.SourceFileLoader │ │
│ │ object at 0x0000019F72A83A90>, │ │
│ │ origin='D:\\anaconda3\\lib\\site-packages\\chatdocs\\ui.… │ │
│ │ Any = typing.Any │ │
│ │ Dict = typing.Dict │ │
│ │ json = <module 'json' from │ │
│ │ 'D:\\anaconda3\\lib\\json\\__init__.py'> │ │
│ │ Queue = <class 'queue.Queue'> │ │
│ │ secrets = <module 'secrets' from 'D:\\anaconda3\\lib\\secrets.py'> │ │
│ │ Thread = <class 'threading.Thread'> │ │
│ ╰──────────────────────────────────────────────────────────────────────────╯ │
│ │
│ D:\anaconda3\lib\site-packages\quart\__init__.py:5 in <module> │
│ │
│ 2 │
│ 3 from markupsafe import escape as escape, Markup as Markup │
│ 4 │
│ ❱ 5 from .app import Quart as Quart │
│ 6 from .blueprints import Blueprint as Blueprint │
│ 7 from .config import Config as Config │
│ 8 from .ctx import ( │
│ │
│ ╭───────────────────────────────── locals ─────────────────────────────────╮ │
│ │ __builtins__ = { │ │
│ │ │ '__name__': 'builtins', │ │
│ │ │ '__doc__': 'Built-in functions, exceptions, and other │ │
│ │ objects.\n\nNoteworthy: None is the `nil'+46, │ │
│ │ │ '__package__': '', │ │
│ │ │ '__loader__': <class │ │
│ │ '_frozen_importlib.BuiltinImporter'>, │ │
│ │ │ '__spec__': ModuleSpec(name='builtins', loader=<class │ │
│ │ '_frozen_importlib.BuiltinImporter'>, origin='built-in'), │ │
│ │ │ '__build_class__': <built-in function │ │
│ │ __build_class__>, │ │
│ │ │ '__import__': <built-in function __import__>, │ │
│ │ │ 'abs': <built-in function abs>, │ │
│ │ │ 'all': <built-in function all>, │ │
│ │ │ 'any': <built-in function any>, │ │
│ │ │ ... +143 │ │
│ │ } │ │
│ │ __cached__ = 'D:\\anaconda3\\lib\\site-packages\\quart\\__pycache__\\… │ │
│ │ __doc__ = None │ │
│ │ __file__ = 'D:\\anaconda3\\lib\\site-packages\\quart\\__init__.py' │ │
│ │ __loader__ = <_frozen_importlib_external.SourceFileLoader object at │ │
│ │ 0x0000019F72A9FAC0> │ │
│ │ __name__ = 'quart' │ │
│ │ __package__ = 'quart' │ │
│ │ __path__ = ['D:\\anaconda3\\lib\\site-packages\\quart'] │ │
│ │ __spec__ = ModuleSpec(name='quart', │ │
│ │ loader=<_frozen_importlib_external.SourceFileLoader │ │
│ │ object at 0x0000019F72A9FAC0>, │ │
│ │ origin='D:\\anaconda3\\lib\\site-packages\\quart\\__init… │ │
│ │ submodule_search_locations=['D:\\anaconda3\\lib\\site-pa… │ │
│ │ annotations = _Feature((3, 7, 0, 'beta', 1), (3, 10, 0, 'alpha', 0), │ │
│ │ 16777216) │ │
│ │ escape = <built-in function escape> │ │
│ │ Markup = <class 'markupsafe.Markup'> │ │
│ ╰──────────────────────────────────────────────────────────────────────────╯ │
│ │
│ D:\anaconda3\lib\site-packages\quart\app.py:50 in <module> │
│ │
│ 47 from werkzeug.utils import redirect as werkzeug_redirect │
│ 48 from werkzeug.wrappers import Response as WerkzeugResponse │
│ 49 │
│ ❱ 50 from .asgi import ASGIHTTPConnection, ASGILifespan, ASGIWebsocketConn │
│ 51 from .blueprints import Blueprint │
│ 52 from .config import Config, ConfigAttribute, DEFAULT_CONFIG │
│ 53 from .ctx import ( │
│ │
│ ╭───────────────────────────────── locals ─────────────────────────────────╮ │
│ │ __builtins__ = { │ │
│ │ │ '__name__': 'builtins', │ │
│ │ │ '__doc__': 'Built-in functions, exceptions, │ │
│ │ and other objects.\n\nNoteworthy: None is the │ │
│ │ `nil'+46, │ │
│ │ │ '__package__': '', │ │
│ │ │ '__loader__': <class │ │
│ │ '_frozen_importlib.BuiltinImporter'>, │ │
│ │ │ '__spec__': ModuleSpec(name='builtins', │ │
│ │ loader=<class │ │
│ │ '_frozen_importlib.BuiltinImporter'>, │ │
│ │ origin='built-in'), │ │
│ │ │ '__build_class__': <built-in function │ │
│ │ __build_class__>, │ │
│ │ │ '__import__': <built-in function │ │
│ │ __import__>, │ │
│ │ │ 'abs': <built-in function abs>, │ │
│ │ │ 'all': <built-in function all>, │ │
│ │ │ 'any': <built-in function any>, │ │
│ │ │ ... +143 │ │
│ │ } │ │
│ │ __cached__ = 'D:\\anaconda3\\lib\\site-packages\\quart\\__p… │ │
│ │ __doc__ = None │ │
│ │ __file__ = 'D:\\anaconda3\\lib\\site-packages\\quart\\app… │ │
│ │ __loader__ = <_frozen_importlib_external.SourceFileLoader │ │
│ │ object at 0x0000019F72AB5670> │ │
│ │ __name__ = 'quart.app' │ │
│ │ __package__ = 'quart' │ │
│ │ __spec__ = ModuleSpec(name='quart.app', │ │
│ │ loader=<_frozen_importlib_external.SourceFileL… │ │
│ │ object at 0x0000019F72AB5670>, │ │
│ │ origin='D:\\anaconda3\\lib\\site-packages\\qua… │ │
│ │ Aborter = <class 'werkzeug.exceptions.Aborter'> │ │
│ │ AiofilesContextManager = <class 'aiofiles.base.AiofilesContextManager'> │ │
│ │ annotations = _Feature((3, 7, 0, 'beta', 1), (3, 10, 0, │ │
│ │ 'alpha', 0), 16777216) │ │
│ │ Any = typing.Any │ │
│ │ AnyStr = ~AnyStr │ │
│ │ ASGIReceiveCallable = typing.Callable[[], │ │
│ │ typing.Awaitable[typing.Union[hypercorn.typing… │ │
│ │ hypercorn.typing.HTTPDisconnectEvent, │ │
│ │ hypercorn.typing.WebsocketConnectEvent, │ │
│ │ hypercorn.typing.WebsocketReceiveEvent, │ │
│ │ hypercorn.typing.WebsocketDisconnectEvent, │ │
│ │ hypercorn.typing.LifespanStartupEvent, │ │
│ │ hypercorn.typing.LifespanShutdownEvent]]] │ │
│ │ ASGISendCallable = typing.Callable[[typing.Union[hypercorn.typing… │ │
│ │ hypercorn.typing.HTTPResponseBodyEvent, │ │
│ │ hypercorn.typing.HTTPServerPushEvent, │ │
│ │ hypercorn.typing.HTTPEarlyHintEvent, │ │
│ │ hypercorn.typing.HTTPDisconnectEvent, │ │
│ │ hypercorn.typing.WebsocketAcceptEvent, │ │
│ │ hypercorn.typing.WebsocketSendEvent, │ │
│ │ hypercorn.typing.WebsocketResponseStartEvent, │ │
│ │ hypercorn.typing.WebsocketResponseBodyEvent, │ │
│ │ hypercorn.typing.WebsocketCloseEvent, │ │
│ │ hypercorn.typing.LifespanStartupCompleteEvent, │ │
│ │ hypercorn.typing.LifespanStartupFailedEvent, │ │
│ │ hypercorn.typing.LifespanShutdownCompleteEvent, │ │
│ │ hypercorn.typing.LifespanShutdownFailedEvent]], │ │
│ │ typing.Awaitable[NoneType]] │ │
│ │ async_open = <function open at 0x0000019F72C3B160> │ │
│ │ AsyncBufferedReader = <class │ │
│ │ 'aiofiles.threadpool.binary.AsyncBufferedReade… │ │
│ │ AsyncGenerator = typing.AsyncGenerator │ │
│ │ asyncio = <module 'asyncio' from │ │
│ │ 'D:\\anaconda3\\lib\\asyncio\\__init__.py'> │ │
│ │ Authorization = <class 'werkzeug.datastructures.Authorization'> │ │
│ │ Awaitable = typing.Awaitable │ │
│ │ BuildError = <class │ │
│ │ 'werkzeug.routing.exceptions.BuildError'> │ │
│ │ Callable = typing.Callable │ │
│ │ cast = <function cast at 0x0000019F703A8820> │ │
│ │ Coroutine = typing.Coroutine │ │
│ │ Dict = typing.Dict │ │
│ │ Headers = <class 'werkzeug.datastructures.Headers'> │ │
│ │ HTTPException = <class 'werkzeug.exceptions.HTTPException'> │ │
│ │ HyperConfig = <class 'hypercorn.config.Config'> │ │
│ │ InternalServerError = <class │ │
│ │ 'werkzeug.exceptions.InternalServerError'> │ │
│ │ isasyncgen = <function isasyncgen at 0x0000019F7072E8B0> │ │
│ │ isgenerator = <function isgenerator at 0x0000019F7072E940> │ │
│ │ Iterable = typing.Iterable │ │
│ │ List = typing.List │ │
│ │ Logger = <class 'logging.Logger'> │ │
│ │ MapAdapter = <class 'werkzeug.routing.map.MapAdapter'> │ │
│ │ NoReturn = typing.NoReturn │ │
│ │ Optional = typing.Optional │ │
│ │ OrderedDict = <class 'collections.OrderedDict'> │ │
│ │ os = <module 'os' from 'D:\\anaconda3\\lib\\os.py'> │ │
│ │ Path = <class 'pathlib.Path'> │ │
│ │ platform = <module 'platform' from │ │
│ │ 'D:\\anaconda3\\lib\\platform.py'> │ │
│ │ RoutingException = <class │ │
│ │ 'werkzeug.routing.exceptions.RoutingException'> │ │
│ │ Scope = typing.Union[hypercorn.typing.HTTPScope, │ │
│ │ hypercorn.typing.WebsocketScope, │ │
│ │ hypercorn.typing.LifespanScope] │ │
│ │ serve = <function serve at 0x0000019F72CB5E50> │ │
│ │ Set = typing.Set │ │
│ │ signal = <module 'signal' from │ │
│ │ 'D:\\anaconda3\\lib\\signal.py'> │ │
│ │ sys = <module 'sys' (built-in)> │ │
│ │ timedelta = <class 'datetime.timedelta'> │ │
│ │ TracebackType = <class 'traceback'> │ │
│ │ Tuple = typing.Tuple │ │
│ │ Type = typing.Type │ │
│ │ TypeVar = <class 'typing.TypeVar'> │ │
│ │ Union = typing.Union │ │
│ │ url_quote = <function url_quote at 0x0000019F731D40D0> │ │
│ │ ValuesView = typing.ValuesView │ │
│ │ warnings = <module 'warnings' from │ │
│ │ 'D:\\anaconda3\\lib\\warnings.py'> │ │
│ │ WeakSet = <class '_weakrefset.WeakSet'> │ │
│ │ werkzeug_redirect = <function redirect at 0x0000019F732F0C10> │ │
│ │ WerkzeugResponse = <class 'werkzeug.wrappers.response.Response'> │ │
│ ╰──────────────────────────────────────────────────────────────────────────╯ │
│ │
│ D:\anaconda3\lib\site-packages\quart\asgi.py:29 in <module> │
│ │
│ 26 from werkzeug.datastructures import Headers │
│ 27 from werkzeug.wrappers import Response as WerkzeugResponse │
│ 28 │
│ ❱ 29 from .debug import traceback_response │
│ 30 from .signals import websocket_received, websocket_sent │
│ 31 from .utils import encode_headers │
│ 32 from .wrappers import Request, Response, Websocket # noqa: F401 │
│ │
│ ╭───────────────────────────────── locals ─────────────────────────────────╮ │
│ │ __builtins__ = { │ │
│ │ │ '__name__': 'builtins', │ │
│ │ │ '__doc__': 'Built-in functions, │ │
│ │ exceptions, and other │ │
│ │ objects.\n\nNoteworthy: None is the │ │
│ │ `nil'+46, │ │
│ │ │ '__package__': '', │ │
│ │ │ '__loader__': <class │ │
│ │ '_frozen_importlib.BuiltinImporter'>, │ │
│ │ │ '__spec__': │ │
│ │ ModuleSpec(name='builtins', │ │
│ │ loader=<class │ │
│ │ '_frozen_importlib.BuiltinImporter'>, │ │
│ │ origin='built-in'), │ │
│ │ │ '__build_class__': <built-in │ │
│ │ function __build_class__>, │ │
│ │ │ '__import__': <built-in function │ │
│ │ __import__>, │ │
│ │ │ 'abs': <built-in function abs>, │ │
│ │ │ 'all': <built-in function all>, │ │
│ │ │ 'any': <built-in function any>, │ │
│ │ │ ... +143 │ │
│ │ } │ │
│ │ __cached__ = 'D:\\anaconda3\\lib\\site-packages\\qua… │ │
│ │ __doc__ = None │ │
│ │ __file__ = 'D:\\anaconda3\\lib\\site-packages\\qua… │ │
│ │ __loader__ = <_frozen_importlib_external.SourceFileL… │ │
│ │ object at 0x0000019F72AFE850> │ │
│ │ __name__ = 'quart.asgi' │ │
│ │ __package__ = 'quart' │ │
│ │ __spec__ = ModuleSpec(name='quart.asgi', │ │
│ │ loader=<_frozen_importlib_external.Sour… │ │
│ │ object at 0x0000019F72AFE850>, │ │
│ │ origin='D:\\anaconda3\\lib\\site-packag… │ │
│ │ annotations = _Feature((3, 7, 0, 'beta', 1), (3, 10, │ │
│ │ 0, 'alpha', 0), 16777216) │ │
│ │ AnyStr = ~AnyStr │ │
│ │ ASGIReceiveCallable = typing.Callable[[], │ │
│ │ typing.Awaitable[typing.Union[hypercorn… │ │
│ │ hypercorn.typing.HTTPDisconnectEvent, │ │
│ │ hypercorn.typing.WebsocketConnectEvent, │ │
│ │ hypercorn.typing.WebsocketReceiveEvent, │ │
│ │ hypercorn.typing.WebsocketDisconnectEve… │ │
│ │ hypercorn.typing.LifespanStartupEvent, │ │
│ │ hypercorn.typing.LifespanShutdownEvent]… │ │
│ │ ASGISendCallable = typing.Callable[[typing.Union[hypercorn… │ │
│ │ hypercorn.typing.HTTPResponseBodyEvent, │ │
│ │ hypercorn.typing.HTTPServerPushEvent, │ │
│ │ hypercorn.typing.HTTPEarlyHintEvent, │ │
│ │ hypercorn.typing.HTTPDisconnectEvent, │ │
│ │ hypercorn.typing.WebsocketAcceptEvent, │ │
│ │ hypercorn.typing.WebsocketSendEvent, │ │
│ │ hypercorn.typing.WebsocketResponseStart… │ │
│ │ hypercorn.typing.WebsocketResponseBodyE… │ │
│ │ hypercorn.typing.WebsocketCloseEvent, │ │
│ │ hypercorn.typing.LifespanStartupComplet… │ │
│ │ hypercorn.typing.LifespanStartupFailedE… │ │
│ │ hypercorn.typing.LifespanShutdownComple… │ │
│ │ hypercorn.typing.LifespanShutdownFailed… │ │
│ │ typing.Awaitable[NoneType]] │ │
│ │ asyncio = <module 'asyncio' from │ │
│ │ 'D:\\anaconda3\\lib\\asyncio\\__init__.… │ │
│ │ cast = <function cast at 0x0000019F703A8820> │ │
│ │ Headers = <class │ │
│ │ 'werkzeug.datastructures.Headers'> │ │
│ │ HTTPResponseBodyEvent = <class │ │
│ │ 'hypercorn.typing.HTTPResponseBodyEvent… │ │
│ │ HTTPResponseStartEvent = <class │ │
│ │ 'hypercorn.typing.HTTPResponseStartEven… │ │
│ │ HTTPScope = <class 'hypercorn.typing.HTTPScope'> │ │
│ │ LifespanScope = <class 'hypercorn.typing.LifespanScope'> │ │
│ │ LifespanShutdownCompleteEvent = <class │ │
│ │ 'hypercorn.typing.LifespanShutdownCompl… │ │
│ │ LifespanShutdownFailedEvent = <class │ │
│ │ 'hypercorn.typing.LifespanShutdownFaile… │ │
│ │ LifespanStartupCompleteEvent = <class │ │
│ │ 'hypercorn.typing.LifespanStartupComple… │ │
│ │ LifespanStartupFailedEvent = <class │ │
│ │ 'hypercorn.typing.LifespanStartupFailed… │ │
│ │ List = typing.List │ │
│ │ Optional = typing.Optional │ │
│ │ partial = <class 'functools.partial'> │ │
│ │ Set = typing.Set │ │
│ │ TYPE_CHECKING = False │ │
│ │ Union = typing.Union │ │
│ │ urlparse = <function urlparse at │ │
│ │ 0x0000019F7044A0D0> │ │
│ │ warnings = <module 'warnings' from │ │
│ │ 'D:\\anaconda3\\lib\\warnings.py'> │ │
│ │ WebsocketAcceptEvent = <class │ │
│ │ 'hypercorn.typing.WebsocketAcceptEvent'> │ │
│ │ WebsocketCloseEvent = <class │ │
│ │ 'hypercorn.typing.WebsocketCloseEvent'> │ │
│ │ WebsocketResponseBodyEvent = <class │ │
│ │ 'hypercorn.typing.WebsocketResponseBody… │ │
│ │ WebsocketResponseStartEvent = <class │ │
│ │ 'hypercorn.typing.WebsocketResponseStar… │ │
│ │ WebsocketScope = <class │ │
│ │ 'hypercorn.typing.WebsocketScope'> │ │
│ │ WerkzeugResponse = <class │ │
│ │ 'werkzeug.wrappers.response.Response'> │ │
│ ╰──────────────────────────────────────────────────────────────────────────╯ │
│ │
│ D:\anaconda3\lib\site-packages\quart\debug.py:6 in <module> │
│ │
│ 3 import inspect │
│ 4 import sys │
│ 5 │
│ ❱ 6 from jinja2 import Template │
│ 7 │
│ 8 from .wrappers import Response │
│ 9 │
│ │
│ ╭───────────────────────────────── locals ─────────────────────────────────╮ │
│ │ __builtins__ = { │ │
│ │ │ '__name__': 'builtins', │ │
│ │ │ '__doc__': 'Built-in functions, exceptions, and other │ │
│ │ objects.\n\nNoteworthy: None is the `nil'+46, │ │
│ │ │ '__package__': '', │ │
│ │ │ '__loader__': <class │ │
│ │ '_frozen_importlib.BuiltinImporter'>, │ │
│ │ │ '__spec__': ModuleSpec(name='builtins', loader=<class │ │
│ │ '_frozen_importlib.BuiltinImporter'>, origin='built-in'), │ │
│ │ │ '__build_class__': <built-in function │ │
│ │ __build_class__>, │ │
│ │ │ '__import__': <built-in function __import__>, │ │
│ │ │ 'abs': <built-in function abs>, │ │
│ │ │ 'all': <built-in function all>, │ │
│ │ │ 'any': <built-in function any>, │ │
│ │ │ ... +143 │ │
│ │ } │ │
│ │ __cached__ = 'D:\\anaconda3\\lib\\site-packages\\quart\\__pycache__\\… │ │
│ │ __doc__ = None │ │
│ │ __file__ = 'D:\\anaconda3\\lib\\site-packages\\quart\\debug.py' │ │
│ │ __loader__ = <_frozen_importlib_external.SourceFileLoader object at │ │
│ │ 0x0000019F73380B50> │ │
│ │ __name__ = 'quart.debug' │ │
│ │ __package__ = 'quart' │ │
│ │ __spec__ = ModuleSpec(name='quart.debug', │ │
│ │ loader=<_frozen_importlib_external.SourceFileLoader │ │
│ │ object at 0x0000019F73380B50>, │ │
│ │ origin='D:\\anaconda3\\lib\\site-packages\\quart\\debug.… │ │
│ │ annotations = _Feature((3, 7, 0, 'beta', 1), (3, 10, 0, 'alpha', 0), │ │
│ │ 16777216) │ │
│ │ inspect = <module 'inspect' from 'D:\\anaconda3\\lib\\inspect.py'> │ │
│ │ sys = <module 'sys' (built-in)> │ │
│ ╰──────────────────────────────────────────────────────────────────────────╯ │
│ │
│ D:\anaconda3\lib\site-packages\jinja2\__init__.py:12 in <module> │
│ │
│ 9 from .bccache import BytecodeCache │
│ 10 from .bccache import FileSystemBytecodeCache │
│ 11 from .bccache import MemcachedBytecodeCache │
│ ❱ 12 from .environment import Environment │
│ 13 from .environment import Template │
│ 14 from .exceptions import TemplateAssertionError │
│ 15 from .exceptions import TemplateError │
│ │
│ ╭───────────────────────────────── locals ─────────────────────────────────╮ │
│ │ __builtins__ = { │ │
│ │ │ '__name__': 'builtins', │ │
│ │ │ '__doc__': 'Built-in functions, │ │
│ │ exceptions, and other objects.\n\nNoteworthy: │ │
│ │ None is the `nil'+46, │ │
│ │ │ '__package__': '', │ │
│ │ │ '__loader__': <class │ │
│ │ '_frozen_importlib.BuiltinImporter'>, │ │
│ │ │ '__spec__': ModuleSpec(name='builtins', │ │
│ │ loader=<class │ │
│ │ '_frozen_importlib.BuiltinImporter'>, │ │
│ │ origin='built-in'), │ │
│ │ │ '__build_class__': <built-in function │ │
│ │ __build_class__>, │ │
│ │ │ '__import__': <built-in function │ │
│ │ __import__>, │ │
│ │ │ 'abs': <built-in function abs>, │ │
│ │ │ 'all': <built-in function all>, │ │
│ │ │ 'any': <built-in function any>, │ │
│ │ │ ... +143 │ │
│ │ } │ │
│ │ __cached__ = 'D:\\anaconda3\\lib\\site-packages\\jinja2\\_… │ │
│ │ __doc__ = 'Jinja is a template engine written in pure │ │
│ │ Python. It provides a\nnon-XML syntax '+72 │ │
│ │ __file__ = 'D:\\anaconda3\\lib\\site-packages\\jinja2\\_… │ │
│ │ __loader__ = <_frozen_importlib_external.SourceFileLoader │ │
│ │ object at 0x0000019F7338F130> │ │
│ │ __name__ = 'jinja2' │ │
│ │ __package__ = 'jinja2' │ │
│ │ __path__ = ['D:\\anaconda3\\lib\\site-packages\\jinja2'] │ │
│ │ __spec__ = ModuleSpec(name='jinja2', │ │
│ │ loader=<_frozen_importlib_external.SourceFile… │ │
│ │ object at 0x0000019F7338F130>, │ │
│ │ origin='D:\\anaconda3\\lib\\site-packages\\ji… │ │
│ │ submodule_search_locations=['D:\\anaconda3\\l… │ │
│ │ _compat = <module 'jinja2._compat' from │ │
│ │ 'D:\\anaconda3\\lib\\site-packages\\jinja2\\_… │ │
│ │ bccache = <module 'jinja2.bccache' from │ │
│ │ 'D:\\anaconda3\\lib\\site-packages\\jinja2\\b… │ │
│ │ BytecodeCache = <class 'jinja2.bccache.BytecodeCache'> │ │
│ │ compiler = <module 'jinja2.compiler' from │ │
│ │ 'D:\\anaconda3\\lib\\site-packages\\jinja2\\c… │ │
│ │ escape = <built-in function escape> │ │
│ │ exceptions = <module 'jinja2.exceptions' from │ │
│ │ 'D:\\anaconda3\\lib\\site-packages\\jinja2\\e… │ │
│ │ FileSystemBytecodeCache = <class │ │
│ │ 'jinja2.bccache.FileSystemBytecodeCache'> │ │
│ │ idtracking = <module 'jinja2.idtracking' from │ │
│ │ 'D:\\anaconda3\\lib\\site-packages\\jinja2\\i… │ │
│ │ Markup = <class 'markupsafe.Markup'> │ │
│ │ MemcachedBytecodeCache = <class │ │
│ │ 'jinja2.bccache.MemcachedBytecodeCache'> │ │
│ │ nodes = <module 'jinja2.nodes' from │ │
│ │ 'D:\\anaconda3\\lib\\site-packages\\jinja2\\n… │ │
│ │ optimizer = <module 'jinja2.optimizer' from │ │
│ │ 'D:\\anaconda3\\lib\\site-packages\\jinja2\\o… │ │
│ │ utils = <module 'jinja2.utils' from │ │
│ │ 'D:\\anaconda3\\lib\\site-packages\\jinja2\\u… │ │
│ │ visitor = <module 'jinja2.visitor' from │ │
│ │ 'D:\\anaconda3\\lib\\site-packages\\jinja2\\v… │ │
│ ╰──────────────────────────────────────────────────────────────────────────╯ │
│ │
│ D:\anaconda3\lib\site-packages\jinja2\environment.py:25 in <module> │
│ │
│ 22 from ._compat import text_type │
│ 23 from .compiler import CodeGenerator │
│ 24 from .compiler import generate │
│ ❱ 25 from .defaults import BLOCK_END_STRING │
│ 26 from .defaults import BLOCK_START_STRING │
│ 27 from .defaults import COMMENT_END_STRING │
│ 28 from .defaults import COMMENT_START_STRING │
│ │
│ ╭───────────────────────────────── locals ─────────────────────────────────╮ │
│ │ __builtins__ = { │ │
│ │ │ '__name__': 'builtins', │ │
│ │ │ '__doc__': 'Built-in functions, exceptions, │ │
│ │ and other objects.\n\nNoteworthy: None is the │ │
│ │ `nil'+46, │ │
│ │ │ '__package__': '', │ │
│ │ │ '__loader__': <class │ │
│ │ '_frozen_importlib.BuiltinImporter'>, │ │
│ │ │ '__spec__': ModuleSpec(name='builtins', │ │
│ │ loader=<class │ │
│ │ '_frozen_importlib.BuiltinImporter'>, │ │
│ │ origin='built-in'), │ │
│ │ │ '__build_class__': <built-in function │ │
│ │ __build_class__>, │ │
│ │ │ '__import__': <built-in function __import__>, │ │
│ │ │ 'abs': <built-in function abs>, │ │
│ │ │ 'all': <built-in function all>, │ │
│ │ │ 'any': <built-in function any>, │ │
│ │ │ ... +143 │ │
│ │ } │ │
│ │ __cached__ = 'D:\\anaconda3\\lib\\site-packages\\jinja2\\__py… │ │
│ │ __doc__ = 'Classes for managing templates and their runtime │ │
│ │ and compile time\noptions.\n' │ │
│ │ __file__ = 'D:\\anaconda3\\lib\\site-packages\\jinja2\\envi… │ │
│ │ __loader__ = <_frozen_importlib_external.SourceFileLoader │ │
│ │ object at 0x0000019F7338F8E0> │ │
│ │ __name__ = 'jinja2.environment' │ │
│ │ __package__ = 'jinja2' │ │
│ │ __spec__ = ModuleSpec(name='jinja2.environment', │ │
│ │ loader=<_frozen_importlib_external.SourceFileLoa… │ │
│ │ object at 0x0000019F7338F8E0>, │ │
│ │ origin='D:\\anaconda3\\lib\\site-packages\\jinja… │ │
│ │ CodeGenerator = <class 'jinja2.compiler.CodeGenerator'> │ │
│ │ encode_filename = <function <lambda> at 0x0000019F7339AC10> │ │
│ │ generate = <function generate at 0x0000019F7341E700> │ │
│ │ implements_iterator = <function <lambda> at 0x0000019F7339AC10> │ │
│ │ implements_to_string = <function <lambda> at 0x0000019F7339AC10> │ │
│ │ iteritems = <function <lambda> at 0x0000019F7339ADC0> │ │
│ │ Markup = <class 'markupsafe.Markup'> │ │
│ │ nodes = <module 'jinja2.nodes' from │ │
│ │ 'D:\\anaconda3\\lib\\site-packages\\jinja2\\node… │ │
│ │ os = <module 'os' from 'D:\\anaconda3\\lib\\os.py'> │ │
│ │ partial = <class 'functools.partial'> │ │
│ │ PY2 = False │ │
│ │ PYPY = False │ │
│ │ reduce = <built-in function reduce> │ │
│ │ reraise = <function reraise at 0x0000019F7339AE50> │ │
│ │ string_types = (<class 'str'>,) │ │
│ │ sys = <module 'sys' (built-in)> │ │
│ │ text_type = <class 'str'> │ │
│ │ weakref = <module 'weakref' from │ │
│ │ 'D:\\anaconda3\\lib\\weakref.py'> │ │
│ ╰──────────────────────────────────────────────────────────────────────────╯ │
│ │
│ D:\anaconda3\lib\site-packages\jinja2\defaults.py:3 in <module> │
│ │
│ 1 # -*- coding: utf-8 -*- │
│ 2 from ._compat import range_type │
│ ❱ 3 from .filters import FILTERS as DEFAULT_FILTERS # noqa: F401 │
│ 4 from .tests import TESTS as DEFAULT_TESTS # noqa: F401 │
│ 5 from .utils import Cycler │
│ 6 from .utils import generate_lorem_ipsum │
│ │
│ ╭───────────────────────────────── locals ─────────────────────────────────╮ │
│ │ __builtins__ = { │ │
│ │ │ '__name__': 'builtins', │ │
│ │ │ '__doc__': 'Built-in functions, exceptions, and other │ │
│ │ objects.\n\nNoteworthy: None is the `nil'+46, │ │
│ │ │ '__package__': '', │ │
│ │ │ '__loader__': <class │ │
│ │ '_frozen_importlib.BuiltinImporter'>, │ │
│ │ │ '__spec__': ModuleSpec(name='builtins', loader=<class │ │
│ │ '_frozen_importlib.BuiltinImporter'>, origin='built-in'), │ │
│ │ │ '__build_class__': <built-in function │ │
│ │ __build_class__>, │ │
│ │ │ '__import__': <built-in function __import__>, │ │
│ │ │ 'abs': <built-in function abs>, │ │
│ │ │ 'all': <built-in function all>, │ │
│ │ │ 'any': <built-in function any>, │ │
│ │ │ ... +143 │ │
│ │ } │ │
│ │ __cached__ = 'D:\\anaconda3\\lib\\site-packages\\jinja2\\__pycache__\… │ │
│ │ __doc__ = None │ │
│ │ __file__ = 'D:\\anaconda3\\lib\\site-packages\\jinja2\\defaults.py' │ │
│ │ __loader__ = <_frozen_importlib_external.SourceFileLoader object at │ │
│ │ 0x0000019F734040D0> │ │
│ │ __name__ = 'jinja2.defaults' │ │
│ │ __package__ = 'jinja2' │ │
│ │ __spec__ = ModuleSpec(name='jinja2.defaults', │ │
│ │ loader=<_frozen_importlib_external.SourceFileLoader │ │
│ │ object at 0x0000019F734040D0>, │ │
│ │ origin='D:\\anaconda3\\lib\\site-packages\\jinja2\\defau… │ │
│ │ range_type = <class 'range'> │ │
│ ╰──────────────────────────────────────────────────────────────────────────╯ │
│ │
│ D:\anaconda3\lib\site-packages\jinja2\filters.py:13 in <module> │
│ │
│ 10 │
│ 11 from markupsafe import escape │
│ 12 from markupsafe import Markup │
│ ❱ 13 from markupsafe import soft_unicode │
│ 14 │
│ 15 from ._compat import abc │
│ 16 from ._compat import imap │
│ │
│ ╭───────────────────────────────── locals ─────────────────────────────────╮ │
│ │ __builtins__ = { │ │
│ │ │ '__name__': 'builtins', │ │
│ │ │ '__doc__': 'Built-in functions, exceptions, and other │ │
│ │ objects.\n\nNoteworthy: None is the `nil'+46, │ │
│ │ │ '__package__': '', │ │
│ │ │ '__loader__': <class │ │
│ │ '_frozen_importlib.BuiltinImporter'>, │ │
│ │ │ '__spec__': ModuleSpec(name='builtins', loader=<class │ │
│ │ '_frozen_importlib.BuiltinImporter'>, origin='built-in'), │ │
│ │ │ '__build_class__': <built-in function │ │
│ │ __build_class__>, │ │
│ │ │ '__import__': <built-in function __import__>, │ │
│ │ │ 'abs': <built-in function abs>, │ │
│ │ │ 'all': <built-in function all>, │ │
│ │ │ 'any': <built-in function any>, │ │
│ │ │ ... +143 │ │
│ │ } │ │
│ │ __cached__ = 'D:\\anaconda3\\lib\\site-packages\\jinja2\\__pycache__\… │ │
│ │ __doc__ = 'Built-in template filters used with the ``|`` operator.' │ │
│ │ __file__ = 'D:\\anaconda3\\lib\\site-packages\\jinja2\\filters.py' │ │
│ │ __loader__ = <_frozen_importlib_external.SourceFileLoader object at │ │
│ │ 0x0000019F73420DF0> │ │
│ │ __name__ = 'jinja2.filters' │ │
│ │ __package__ = 'jinja2' │ │
│ │ __spec__ = ModuleSpec(name='jinja2.filters', │ │
│ │ loader=<_frozen_importlib_external.SourceFileLoader │ │
│ │ object at 0x0000019F73420DF0>, │ │
│ │ origin='D:\\anaconda3\\lib\\site-packages\\jinja2\\filte… │ │
│ │ chain = <class 'itertools.chain'> │ │
│ │ escape = <built-in function escape> │ │
│ │ groupby = <class 'itertools.groupby'> │ │
│ │ Markup = <class 'markupsafe.Markup'> │ │
│ │ math = <module 'math' (built-in)> │ │
│ │ namedtuple = <function namedtuple at 0x0000019F703321F0> │ │
│ │ random = <module 'random' from 'D:\\anaconda3\\lib\\random.py'> │ │
│ │ re = <module 're' from 'D:\\anaconda3\\lib\\re.py'> │ │
│ │ warnings = <module 'warnings' from │ │
│ │ 'D:\\anaconda3\\lib\\warnings.py'> │ │
│ ╰──────────────────────────────────────────────────────────────────────────╯ │
╰──────────────────────────────────────────────────────────────────────────────╯
ImportError: cannot import name 'soft_unicode' from 'markupsafe'
(D:\anaconda3\lib\site-packages\markupsafe\__init__.py)
This seems to be from a breaking update to markupsafe - try installing an earlier version with pip install markupsafe==2.0.1 before running the ui.