본문 바로가기
linux/raspberry 4B

[OMV6] ImportError: cannot import name ‘Markup’ from ‘jinja2’ 오류 해결 방법

by bestchoco 2022. 8. 23.

[문제 발생 과정]

1. 다시 라즈베리파이 - docker에 대해 알아보던 중, flask를 새로 설치하면서 문제 발생.

2. openmediavault에서 FTP 기능 중 새로운 폴더에 권한 설정 하려고 하니, apply가 전혀 되지 않았다.

3. apt-get upgrade를 터미널에 입력한 결과 아래와 같은 에러가 발생. (openmediavault의 일부 기능이 고장?)


0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] y
Setting up openmediavault (6.0.36-2) ...
Creating configuration database ...
Migrating configuration database ...
Setting up Salt environment ...
Traceback (most recent call last):
  File "/usr/bin/salt-call", line 11, in <module>
    load_entry_point('salt==3003', 'console_scripts', 'salt-call')()
  File "/usr/lib/python3/dist-packages/salt/scripts.py", line 437, in salt_call
    import salt.cli.call
  File "/usr/lib/python3/dist-packages/salt/cli/call.py", line 6, in <module>
    import salt.cli.caller
  File "/usr/lib/python3/dist-packages/salt/cli/caller.py", line 15, in <module>
    import salt.minion
  File "/usr/lib/python3/dist-packages/salt/minion.py", line 36, in <module>
    import salt.pillar
  File "/usr/lib/python3/dist-packages/salt/pillar/__init__.py", line 16, in <module>
    import salt.fileclient
  File "/usr/lib/python3/dist-packages/salt/fileclient.py", line 30, in <module>
    import salt.utils.templates
  File "/usr/lib/python3/dist-packages/salt/utils/templates.py", line 20, in <module>
    import salt.utils.jinja
  File "/usr/lib/python3/dist-packages/salt/utils/jinja.py", line 28, in <module>
    from jinja2 import BaseLoader, Markup, TemplateNotFound, nodes
ImportError: cannot import name 'Markup' from 'jinja2' (/usr/local/lib/python3.9/dist-packages/jinja2/__init__.py)
dpkg: error processing package openmediavault (--configure):
 installed openmediavault package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
 openmediavault
E: Sub-process /usr/bin/dpkg returned an error code (1)


[문제 해결 과정]

1. 터미널에 sudo pip uninstall flask jinja2 MarkupSafe 입력.

 

[문제 해결 성공 여부]

- 문제 발생 없음.

 

[후속 조치 여부]

- flask와의 충돌로 판단되었으며, pip freeze 등 여러 대체 방법이 있는 것으로 확인되었다.