Decision tree를 하는 과정에서 graphviz관련 오류가 날 때가 있습니다.
1. ModuleNotFoundError: No module named 'graphviz' 에러
파이썬에서 해당 라이브러리가 설치되지 않았다는 것을 의미합니다.
그럼 설치해주면 되겠쥬?
커맨드 창에 할때는 요렇게 입력해주시면 됩니다.
pip install graphviz
하지만 주피터 노트북에서 바로 설치하고 싶다면
주피터 새 블록에 이렇게 입력해주세요.
!pip install graphviz
주피터에서 ! 는 "! 이후에 나오는 내용들을
커맨드창에서 입력하는 것과 똑같이 처리해줘~ " 라는 의미입니다.
자 이러면 무사히 되야 할텐데,
여전히 오류가 나실 확률이 높습니다.
2. ExecutableNotFound: failed to execute ['dot', '-Tsvg'], make sure the Graphviz executables are on your systems' PATH 에러
이 에러는 파이썬 인터프리터가 해당 라이브러리 위치를 찾지 못한다는 것을 의미합니다.
이때 제가 구글링을 통해 찾은 해결방법입니다.
2-1. 패키지를 새로 다운 받아 path 설정해주기
1) msi 파일 다운로드
https://graphviz.gitlab.io/_pages/Download/Download_windows.html
다운 받은 파일 bin에 가서 확인해보면 다음과 같은 아이들을 보실 수 있을거에요:).
2) 시스템 환경 변수 path에 추가
User - C:\Program Files (x86)\Graphviz2.38\bin
System - C:\Program Files (x86)\Graphviz2.38\bin\dot.exe
3) 다시 에디터로 가서 코드 입력
import os
os.environ["PATH"]+=os.pathsep+'C:/Program Files (x86)/Graphviz2.38/bin/'
후에 import graphviz를해주면 실행이 잘 됩니다.
결국 path를 일일이 다 설정해준건데요.
2-2. 궁금증 및 해결중인 방법(밑으로 내려보시면 간단한 해결방법 존재)
평소 pip과 conda의 차이를 잘 느끼지 못했었는데요.
여기서는 pip install graphviz와 condainstall graphviz가 다른 결과를
가져와 줍니다.
pip install로 설치하면 아래 경로에 설치가 되며 설치되는 내용은 다음과 같습니다.
C:\Users\Anaconda3\Lib\site-packages\graphviz로 경로 설정이 되어있고
버전은 graphviz 0.14로 설치되어지네요.
하지만 conda install로 설치를 하면
C:\Users\Anaconda3\Library\bin\graphviz
이 위치에 설치되며 내용은 msi로 다운받을때와 같은 값이 다운됩니다.
저번은 graphviz 2.38(msi로 다운받았을 때와 동일)로 설치되어짐.
공통적으로 둘 다 경로를 못 찾음,,, 설정해줘도 인식을 못함..
*얼른 설치하고 싶으신 분들은 지금부터 다시 봐주세요!*
아주 간단하게 해결할 수 있는 방법을 찾았는데,,,
결국 문제는 Graphviz 실행 파일을 pip install graphviz해서 사용하는 경우,
conda 디렉토리와 다른 경로에 있었다는 것이었어요.
그래서 기존에 했던 것을 다 uninstall 및 remove 하시고
다음 명령어를 이용해 설치하면 따로 경로 설정을 안해주셔도 됩니다:)
conda install python-graphviz
사실 여전히 똑같은 걸 install 했는데, 이것부터 무슨 일이지...
찾아보고는 있지만 잘 모르겠네요 ㅠㅠ
또 import graphviz를 하면 둘 중 어디로 가는지를 모르니 환경 변수를 어떻게 해줘야 할지도 헷갈리더라구요...!
열심히 더 찾아봐야겠습니다...
혹시나 알게 되시는 분은 같이 공유해주세요 ㅠㅠ:
'개발 > 빅데이터' 카테고리의 다른 글
머신러닝 decision tree 실습(feat. data 전처리) (0) | 2020.07.11 |
---|---|
[데이터 분석] 캐글 첫 시작, 타이타닉 문제 풀어보기(구글 스프레드 시트) (0) | 2020.07.10 |
댓글