본문 바로가기
개발/빅데이터

[파이썬,머신러닝] graphviz 설치/실행 에러 해결

by 자유로운 코끼리 2020. 5. 7.
728x90

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

 

Windows Packages

Windows Packages Note: These Visual Studio packages do not alter the PATH variable or access the registry at all. If you wish to use the command-line interface to Graphviz or are using some other program that calls a Graphviz program, you will need to set

graphviz.gitlab.io

다운 받은 파일 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를 하면 둘 중 어디로 가는지를 모르니 환경 변수를 어떻게 해줘야 할지도 헷갈리더라구요...!

열심히 더 찾아봐야겠습니다...

혹시나 알게 되시는 분은 같이 공유해주세요 ㅠㅠ:

 

 

댓글