Python

[파이썬 오류 처리] AttributeError: module ‘graphviz.backend’ has no attribute ‘ENCODING’ 해결방법

import graphviz 모듈 사용시 아래와 같은 오류가 발생하는 경우가 있다. graphviz.backend 모듈이 인코딩 속성이 없음을 나타낸다.  기존에 잘 사용했는데, 갑자기 아래와 같은 오류가 발생한다면 최신버전으로 패키지가 업그레이드 되었을 확률이 높음으로 다운그레이드를 해야한다.

AttributeError: module 'graphviz.backend' has no attribute 'ENCODING'
AttributeError Traceback (most recent call last)
<ipython-input-4-9d9e0becf9b6> in <module>
      3 # graphviz is the drawing tool
      4 from sklearn.tree import export_graphviz
----> 5 import graphviz
      6 dot_data = export_graphviz(
      7     model,

C:ProgramDataAnaconda3libsite-packagesgraphviz__init__.py in <module>
     25 """
     26 
---> 27 from .dot import Graph, Digraph
     28 from .files import Source
     29 from .lang import escape, nohtml

C:ProgramDataAnaconda3libsite-packagesgraphvizdot.py in <module>
     30 
     31 from . import backend
---> 32 from . import files
     33 from . import lang
     34 

C:ProgramDataAnaconda3libsite-packagesgraphvizfiles.py in <module>
     20 
     21 
---> 22 class Base(object):
     23 
     24     _engine = 'dot'

C:ProgramDataAnaconda3libsite-packagesgraphvizfiles.py in Base()
     26     _format = 'pdf'
     27 
---> 28     _encoding = backend.ENCODING
     29 
     30     @property

AttributeError: module 'graphviz.backend' has no attribute 'ENCODING'

 

[해결방법]

  1. graphviz버전을 다운그레이드 해서 해결할 수 있다.
  2. 특정 버전의 패키지까지만 지원하는 경우가 있는데, 이럴 경우 이미 설치된 최신버전을 제거하고 해당 기능을 지원해주는 특정 버전으로 설치를 해야하는 것이다.
  3. pip가 설치 되지 않았다면 pip를 먼저 설치해야한다.

 

윈도우에 파이썬 pip 설치하는 방법

1. 윈도우에서 명령프롬프트(CMD)창을 열어 아래 명령어를 실행한다. 만약 파이참을 사용주이라면 하단에 터미널 창에서 아래 명령어를 실행한다.

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py

2. 실행 완료 후 다음 명령어를 한번 더 실행한다.

python get-pip.py

[실행결과] 


PS C:pythonWorkspace> curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
PS C:pythonWorkspace> python get-pip.py
Collecting pip
  Downloading pip-21.3.1-py3-none-any.whl (1.7 MB)
     |████████████████████████████████| 1.7 MB 6.4 MB/s
Installing collected packages: pip
  Attempting uninstall: pip
    Found existing installation: pip 21.2.4
    Uninstalling pip-21.2.4:
      Successfully uninstalled pip-21.2.4
Successfully installed pip-21.3.1
PS C:pythonWorkspace>

pip-21.3.1 버전이 설치 되었다.

 

 

PIP로 특정버전의 모듈(패키지)를 설치하는 방법

1. pip install graphviz 명령어를 실행하면 현재 설치된 버전을 확인할 수 있다.

PS C:pythonWorkspace> pip install graphviz
Requirement already satisfied: graphviz in c:pythonworkspacevenvlibsite-packages (0.18.2)

2. 특정버전을 설치하기 위해서 pip install 패키지명 ==버전정보 형식으로 입력해준다.

PS C:pythonWorkspace> pip install graphviz==0.17.0
Collecting graphviz==0.17.0
  Downloading graphviz-0.17-py3-none-any.whl (18 kB)
Installing collected packages: graphviz
  Attempting uninstall: graphviz
    Found existing installation: graphviz 0.18.2
    Uninstalling graphviz-0.18.2:
      Successfully uninstalled graphviz-0.18.2
Successfully installed graphviz-0.17
PS C:pythonWorkspace>

 

[REFERENCE]

  • https://stackoverflow.com/questions/69989691/how-to-resolve-attributeerror-module-graphviz-backend-has-no-attribute-encod

 

 

Leave a Reply

error: Content is protected !!