[파이썬 오류 처리] 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'
[해결방법]
- graphviz버전을 다운그레이드 해서 해결할 수 있다.
- 특정 버전의 패키지까지만 지원하는 경우가 있는데, 이럴 경우 이미 설치된 최신버전을 제거하고 해당 기능을 지원해주는 특정 버전으로 설치를 해야하는 것이다.
- 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