2017-02-14 2 views
0

graphviz 2.38.0-4가 설치되어 있습니다. 이 오류 메시지는 여전히 게재되고 여기에서graphviz 및 pydotplus를 설치 한 후 IPython 3.5 GraphViz의 실행 파일을 찾을 수 없습니다.

C:\Users\username\AppData\Local\Continuum\Anaconda3\lib\site- packages\pydotplus\graphviz.py in create(self, prog, format) 
    1958    if self.progs is None: 
    1959     raise InvocationException(
-> 1960      'GraphViz\'s executables not found') 
    1961 
    1962   if prog not in self.progs: 

InvocationException: GraphViz's executables not found 

내가 시도 방법 : Graphviz's executables are not found (Python 3.4) 여전히 문제를 해결할 수없는.

+0

graphviz exes를 설치 했습니까? 이들은 파이썬 라이브러리와 별개입니다. – benjamin

+0

@Yah, http://www.graphviz.org/ –

답변

0

방금 ​​같은 문제가 발생했습니다. Anaconda의 "graphviz"(적어도 Windows)는 PyPI의 graphviz 패키지와 같지 않습니다. 즉, graphviz의 Python 래퍼가 아니고 Graphviz 바이너리 자체입니다. Conda는 바이너리를 "Library \ bin"폴더 (예 : "C : \ Anconda3 \ Library \ bin")에 설치합니다. 일반적으로 "Library \ bin"은 기본적으로 시스템 경로에 있으므로 정상적으로 작동합니다. 그러나 anaconda-graphviz 패키지는 graphviz 바이너리를 자신의 하위 디렉토리 "Library \ bin \ graphviz"에 저장합니다. "Library \ bin \"에 배치 파일 "dot.bat"이 있습니다.이 파일은 "Library \ bin \ graphviz \ dot.exe ". 따라서 'twopi'와 같은 바이너리는 기본적으로 경로에 없습니다. 그러나 적어도 pydotplus (내가 테스트 한 유일한 사람)는 그 (것) 들이기를 기대합니다. 또는 Windows 레지스트리에 "레거시"Graphviz 설치를 찾고 실패 할 경우 기본 설치 위치 (% PROGRAMFILES % 이하)에서 찾으십시오.

그래서 두 가지 해결책을 보았습니다. 즉, graphviz.com에서 직접 Graphviz를 설치하십시오. 'condv'를 통해 'graphviz'를 업데이트하는 기능을 유지하기 위해 대신에 pydotplus의 'set_graphviz_executables'를 사용하여 실행 파일의 경로를 덮어 씁니다. 그러나 내가 이해하는 한, 이것은 모든 단일 그래프에 대해 다시 실행되어야합니다.

import os 

def conda_fix(graph): 
     path = os.path.join(sys.base_exec_prefix, "Library", "bin", "graphviz") 
     paths = ("dot", "twopi", "neato", "circo", "fdp") 
     paths = {p: os.path.join(path, "{}.exe".format(p)) for p in paths} 
     graph.set_graphviz_executables(paths) 

graph = pydotplus.graph_from_data(data) 
conda_fix(graph) 
Image(graph.create_png()) 
관련 문제