Los ejecutables de Graphviz no se encuentran (Python 3.4)

Estoy ejecutando Python3.4 en Windows 7. Estoy tratando de usar la interfaz de Python para graphviz. Este es un script que bash ejecutar:

from graphviz import Digraph import pydotplus dot = Digraph(comment='The Round Table') dot.node('A', 'King Arthur') dot.node('B', 'Sir Bedevere the Wise') dot.node('L', 'Sir Lancelot the Brave') dot.edges(['AB', 'AL']) dot.edge('B', 'L', constraint='false') print(dot.source) dot.render('test-output/round-table.gv', view=True) 

Recibo el siguiente error en tiempo de ejecución:

 RuntimeError: failed to execute ['dot', '-Tpdf', '-O', 'test-output/round-table.gv'], make sure the Graphviz executables are on your systems' path 

Ahora estoy seguro de que he instalado correctamente las dependencias correctas. Primero intenté establecer las variables de entorno correctas. Los ejecutables de graphviz se encuentran en C: \ Archivos de progtwig (x86) \ Graphviz2.37 \ bin, así que fui a la sección Variables de entorno. Hay dos secciones allí: Variables de usuario y Variables de sistema. Debajo de Variables del sistema, hice clic en Ruta y luego hice clic en Edit y agregué ; C: \ Archivos de progtwig (x86) \ Graphviz2.37 \ bin al final de la cadena y guardé. Esto no despejó el error.

Luego, siguiendo la respuesta dada aquí , desinstalé pydot (en realidad uso pydotplus aquí) y lo reinstalé de nuevo, pero aún no tengo éxito.

He intentado arreglar esto durante horas y toda la variable PATH es confusa y frustrante.

En mi caso (portátil Win10, Anaconda3, Jupyter) después de "conda install graphviz" debo agregar a la RUTA: C:\Users\username\Anaconda3\Library\bin\graphviz

Para modificar PATH, vaya al Control Panel > System and Security > System > Advanced System Settings > Environment Variables > Path > Edit > New

En el portátil jupyter (ipython) con anaconda en win10, resolví el problema mediante la conda install graphviz después de haber instalado graphviz by pip install graphviz

También tuve este problema en Ubuntu 16.04.

Se sudo apt-get install graphviz ejecutando sudo apt-get install graphviz además de la instalación pip que ya había realizado.

cuando agregue C: \ Archivos de progtwig (x86) \ Graphviz2.38 \ bin a PATH, debe cerrar su entorno IDE como spyder y reiniciar, resolverá el “RuntimeError: asegúrese de que los ejecutables de Graphviz estén en sus sistemas ‘ camino”

Para resolver este problema, cuando instale graphviz2.38 correctamente, luego agregue su variable PATH a la ruta del sistema. En Variables del sistema puede hacer clic en Ruta y luego hacer clic en Editar y agregar; C: \ Archivos de progtwig (x86) \ Graphviz2.38 \ bin al final de la cadena y guardado. Después de eso, reinicia tu pythonIDE como spyper, entonces funciona bien.

No te olvides de cerrar Spyder y luego reiniciar.

Debido a que Mac OS no se ha mencionado, agregaré que tuve el mismo problema en OS X Yosemite, la solución que encontré fue hacer una brew install graphviz

Esto solucionó el problema, no estoy seguro de si no debería haber editado una de las otras respuestas de esta lista, ya que todas parecen ser la misma respuesta, solo instalan un paquete oficial además de la Biblioteca de Python.

Resolví la instalación directamente desde https://graphviz.gitlab.io/_pages/Download/Download_windows.html y se incluye en la ruta de Windows:

 C:\Program Files (x86)\Graphviz2.38\bin C:\Program Files (x86)\Graphviz2.38 

Despues reinicio de windows

Como aparece, se sabe que Graphviz2.37 tiene problemas con la variable PATH en Windows. Lo desinstalé, eliminé las variables de entorno asociadas con él y, en su lugar, descargué e instalé la versión beta 2.39 más reciente y ahora funciona como un encanto.

Para Windows 8.1 y Python 2.7, solucioné el problema siguiendo los pasos a continuación.

1. Descargue e instale graphviz-2.38.msi http://www.graphviz.org/pub/graphviz/stable/windows/graphviz-2.38.msi

2. Establecer la variable de ruta

  • Panel de control> Sistema y seguridad> Sistema> Configuración avanzada del sistema> Variables de entorno> Ruta> Editar
  • agregue ‘C: \ Archivos de progtwig (x86) \ Graphviz2.38 \ bin’

Tuve el mismo problema con Windows 10.

Primero, instalé graphviz-2.38.0 con el siguiente comando sin ningún problema …

 install -c anaconda graphviz=2.38.0 

En segundo lugar, instalé pydotplus con el siguiente comando sin ningún problema …

 install -c conda-forge pydotplus 

Después de eso, cuando llegué a mi paso para visualizar mi árbol de decisiones tuve el siguiente problema con {InvocationException: GraphViz's executables not found}

 C:\Users\admin\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 

En mi caso, todo lo que tuve que hacer para solucionarlo es colocar la ruta de entorno de los ejecutables de graphviz en la PATH entorno PATH mi usuario y esto se solucionó. Solo asegúrate de que sea la ruta donde se encuentran los archivos YOUR.exe 🙂

 C:\Users\admin\Anaconda3\pkgs\graphviz-2.38.0-4\Library\bin\graphviz 

Solo instala

 conda install graphviz 

luego instale

 conda install -c conda-forge pydotplus 

Si está en Win10, instale Graphviz y luego use el siguiente comando para agregar la ruta.

 import os os.environ["PATH"] += os.pathsep + 'C:\Program Files (x86)\Graphviz2.38/bin/' 

Tenga en cuenta que estoy usando Windows 10. Algunos de los siguientes pueden o no ser aplicables para otras versiones de Windows o sistemas operativos:

** Nota 2: **
“la dirección del archivo bin de Graphviz en su sistema” puede ser C: \ Archivos de progtwig (x86) \ Graphviz2.38 \ bin o cualquier otra ruta que haya instalado aquí Graphviz.

Tenemos problemas no solo con Graphviz sino también con otros archivos EXE externos que queremos usar en Jupyter.
El motivo es cuando jupyter quiere importar un paquete que busca en el directorio de trabajo para encontrarlo y cuando no encuentra el paquete, devuelve dichos errores.
Lo que podemos hacer es abordar esto es como sigue:
1) verifique si Graphviz está instalado en su sistema y si no puede descargarlo e instalarlo desde:

https://graphviz.gitlab.io/_pages/Download/Download_windows.html
y luego instalarlo. Cuando instale Graphviz, tenga en cuenta dónde (en qué carpeta) lo está instalando. Si ve el error anterior cuando usa

 import graphviz 

entonces tienes varias opciones:

2) puede llamar al archivo .exe en el ipynb a través de

 import os os.environ["PATH"] += os.pathsep + r'the Graphviz bin file address on your system' 

Según mi experiencia, solo funciona para el mismo ipynb con el que estoy trabajando y cada vez que abro la notebook necesito llamar a estas líneas de código.

3) Si desea que Jupyter encuentre el archivo exe, debe establecer la ruta ambiental.
En Windows 10 puedes hacer esto yendo a:
Panel de control> Sistema y seguridad> Sistema> Configuración avanzada del sistema> Variables de entorno> Ruta> Editar> Nuevo
y luego agregue “la dirección del archivo bin de Graphviz en su sistema” En Windows 8 o inferior, vaya a:
Panel de control> Sistema y seguridad> Sistema> Configuración avanzada del sistema> Variables de entorno
y luego agregue el; (punto y coma) + “la dirección del archivo bin de Graphviz en su sistema” al final de la cadena de ruta
Nota: recuerde reiniciar su máquina.

4) e incluso esto no funciona, defina una variable que va a:
Panel de control> Sistema y seguridad> Sistema> Configuración avanzada del sistema> Variables de entorno y luego:

Comenzar a definir una variable ambiental.

Luego define una variable como esta: Recuerda nombrar la variable Graphviz

Recuerda nombrar la variable Graphviz. Por fin reinicia tu PC y espero que funcione.

Tuve el mismo problema en Ubuntu (14.04) con Jupyter.

Para resolverlo, he agregado la biblioteca de puntos a python sys.path

Primero: verifica si dot está instalado,

Luego, encuentre su ruta whereis dot -> / local / notebook / miniconda2 / envs / ik2 / bin / dot

Finalmente en la secuencia de comandos de Python: sys.path.append (“/ local / notebook / miniconda2 / envs / ik2 / bin / dot”)

Estoy usando Windows 10, Python 3.6 en Anaconda 3 y he enfrentado el mismo problema.

He funcionado haciendo lo siguiente en secuencia:

  1. Desde la terminal de Anaconda: pip instalar pydotplus
  2. Desde la Terminal Anaconda: conda instalar pydotplus
  3. Desde la terminal de Anaconda: pip install graphviz
  4. Desde la terminal de Anaconda: conda install graphviz
  5. Fui a Windows Environment Varialbes, PATH, y agregue la ubicación de mi archivo dot.exe en el directorio graphviz en Anaconda.

Trabajó bien después de eso.

Por favor use pydotplus en lugar de pydot

  1. Buscar: C:\Users\zhangqianyuan\AppData\Local\Programs\Python\Python36\Lib\site-packages\pydotplus

  2. Abrir graphviz.py

  3. Encuentre la línea 1925 – línea 1972, encuentre la función:

     def create(self, prog=None, format='ps'): 
  4. En la función encontrar:

     if prog not in self.progs: raise InvocationException( 'GraphViz\'s executable "%s" not found' % prog) if not os.path.exists(self.progs[prog]) or \ not os.path.isfile(self.progs[prog]): raise InvocationException( 'GraphViz\'s executable "{}" is not' ' a file or doesn\'t exist'.format(self.progs[prog]) ) 
  5. Entre los dos bloques agregue esto (la ruta ejecutable de su Graphviz):

      self.progs[prog] = "C:/Program Files (x86)/Graphviz2.38/bin/gvedit.exe"` 
  6. Después de agregar el resultado es:

     if prog not in self.progs: raise InvocationException( 'GraphViz\'s executable "%s" not found' % prog) self.progs[prog] = "C:/Program Files (x86)/Graphviz2.38/bin/gvedit.exe" if not os.path.exists(self.progs[prog]) or \ not os.path.isfile(self.progs[prog]): raise InvocationException( 'GraphViz\'s executable "{}" is not' ' a file or doesn\'t exist'.format(self.progs[prog]) ) 
  7. Guarde el archivo modificado y luego puede ejecutarlo con éxito.

  8. Será mejor que lo guarde como archivo bmp porque el archivo png no funcionará. la imagen está aquí