SRserves85 / avro-to-python

Light tool for compiling avro schema files (.avsc) to python classes
MIT License
25 stars 19 forks source link

Doesn't work, ImportError: cannot import name 'soft_unicode' from 'markupsafe' #20

Open sshbio opened 2 years ago

sshbio commented 2 years ago

The package return error ImportError: cannot import name 'soft_unicode' from 'markupsafe' using CLI, version 0.3.3 related to dependency jinja2/utils.py

sshbio commented 2 years ago
$avro-to-python --help
Traceback (most recent call last):
  File "/usr/local/bin/avro-to-python", line 5, in <module>
    from avro_to_python.cli import main
  File "/usr/local/lib/python3.10/site-packages/avro_to_python/cli.py", line 11, in <module>
    from avro_to_python.writer.writer import AvroWriter
  File "/usr/local/lib/python3.10/site-packages/avro_to_python/writer/__init__.py", line 1, in <module>
    from avro_to_python.writer.writer import AvroWriter
  File "/usr/local/lib/python3.10/site-packages/avro_to_python/writer/writer.py", line 5, in <module>
    from jinja2 import Environment, FileSystemLoader
  File "/usr/local/lib/python3.10/site-packages/jinja2/__init__.py", line 33, in <module>
    from jinja2.environment import Environment, Template
  File "/usr/local/lib/python3.10/site-packages/jinja2/environment.py", line 15, in <module>
    from jinja2 import nodes
  File "/usr/local/lib/python3.10/site-packages/jinja2/nodes.py", line 19, in <module>
    from jinja2.utils import Markup
  File "/usr/local/lib/python3.10/site-packages/jinja2/utils.py", line 642, in <module>
    from markupsafe import Markup, escape, soft_unicode
ImportError: cannot import name 'soft_unicode' from 'markupsafe' (/usr/local/lib/python3.10/site-packages/markupsafe/__init__.py)
SRserves85 commented 1 year ago

Newer versions of Jinja have changed the dependencies for markupsafe I believe

nicanor-romero commented 1 year ago

Temporal fix that worked for me

pip3 install markupsafe==2.0.1