"RuntimeError: asegúrese de que los ejecutables de Graphviz estén en la ruta de su sistema" después de instalar Graphviz 2.38


138

Descargué la Graphviz 2.38versión de MSI y la instalé en la carpeta C:\Python34, luego ejecuté pip install Graphviz, todo salió bien. En la ruta del sistema agregué C:\Python34\bin. Cuando intenté ejecutar un script de prueba, en línea filename=dot.render(filename='test'), recibí un mensaje

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

Traté de poner "C:\Python34\bin\dot.exe"en la ruta del sistema, pero no funcionó, e incluso creé una nueva variable de entorno "GRAPHVIZ_DOT"con valor "C:\Python34\bin\dot.exe", todavía no funciona. Intenté desinstalar Graphviz y pip uninstall graphvizluego reinstalarlo e instalar pip nuevamente, pero nada funciona.

El mensaje completo de rastreo es:

Traceback (most recent call last):
  File "C:\Python34\lib\site-packages\graphviz\files.py", line 220, in render
    proc = subprocess.Popen(cmd, startupinfo=STARTUPINFO)
  File "C:\Python34\lib\subprocess.py", line 859, in __init__
    restore_signals, start_new_session)
  File "C:\Python34\lib\subprocess.py", line 1112, in _execute_child
    startupinfo)
FileNotFoundError: [WinError 2] The system cannot find the file specified

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\Documents\Kissmetrics\curves and lines\eventNodes.py", line 56, in <module>
    filename=dot.render(filename='test')
  File "C:\Python34\lib\site-packages\graphviz\files.py", line 225, in render
    'are on your systems\' path' % cmd)
RuntimeError: failed to execute ['dot', '-Tpdf', '-O', 'test'], make sure the Graphviz executables are on your systems' path

¿Alguien tiene alguna experiencia con eso?

Respuestas:


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

En Windows, simplemente agregue estas 2 líneas al principio, donde 'D: / Archivos de programa (x86) /Graphviz2.38/bin/' se reemplaza por la dirección de dónde está su archivo bin.

Eso resuelve el problema.


9
Trabajé en Windows, descargué graphviz-2.38.zip desde aquí graphviz.gitlab.io/_pages/Download/Download_windows.html . Descomprímalo y colóquelo en la carpeta mencionada
user3046442

Esto funciona para mi. Intenté agregar esto a las variables de entorno del usuario y del sistema, pero eso no funciona, solo su solución funciona para mí.
Tom

Esto también funcionó para mí, pero arrojó otro error antes de trabajar. Por alguna razón me dio una configuración de lado a lado .... error. Además, tuve que reinstalar el Paquete redistribuible de Microsoft Visual C ++ 2008 (x86). Si alguien tiene el mismo problema, aquí está el enlace: [ microsoft.com/de-DE/download/details.aspx?id=29]
Marco

Utilicé chocolatey para instalar graphvizchoco install -y graphviz
Nissan

90

Debe instalar el paquete graphviz en su sistema (no solo el paquete python). En Ubuntu deberías probar:

sudo apt-get install graphviz

Si esto no funciona (dice que el paquete está referenciado pero no está allí o algo así), ejecute sudo apt-get updatepara actualizar apt-get y decirle qué paquetes hay.
Pro Q

Si estás en un Docker Container (como yo estaba), ya estaba en rooty solo necesitabaapt-get install graphviz
775

79

Este me resolvió el problema en MAC :

  brew install graphviz

2
Para mac, parece que esta es la mejor opción. A menos que desee utilizar MacPorts e instalar graphviz desde aquí: graphviz.org/Download_macos.php .
AlexG

1
Gracias, funcionó en mi MAC. He intentado instalar tanto por pip como conda pero no funcionó.
Catbuilts

¿Cómo encuentro mi carpeta bin donde tengo graphviz? Estoy teniendo este problema y realmente estoy matando en este momento. Acabo de comprobar que tengo graphviz 2.38.
Herc01

55

Para ventanas:

  1. Instale el paquete de Windows desde: https://graphviz.gitlab.io/_pages/Download/Download_windows.html
  2. Instalar python graphviz paquete de
  3. Agregar C:\Program Files (x86)\Graphviz2.38\bina ruta de usuario
  4. Agregar C:\Program Files (x86)\Graphviz2.38\bin\dot.exea la ruta del sistema

¡Esto funcionó para mí!


15
También cierre su "cmd" en el que se ejecuta jupyter notebook. Los CMD actuales en ejecución no captan los nuevos cambios en las variables de entorno.
Rohit Nandi

No funcionó para mí hasta que reinicié el sistema
Mohammad Nazari

Esto funcionó perfectamente. Solo tuve que reiniciar el cuaderno nuevamente. Gracias.
Amresh Giri

21

Intenta usar:

conda install python-graphviz

El ejecutable graphviz se encuentra en una ruta diferente de su directorio conda, si lo usa pip install graphviz.


Conda install graphviztrabajado en windows! nada más parece funcionar: \
Joel Carneiro

14

OSX Sierra, Python 2.7, Graphviz 2.38

Usar pip install graphvizy conda install graphvizAMBOS resuelve el problema.

pipsolo tiene un problema de ruta igual que el tuyo y condasolo obtiene un error de importación.


SOLO esto funcionó para mí. después de intentarlo todo. Gracias.
Meghna Natraj

Conda install graphviztrabajado en windows! nada más parece funcionar: \
Joel Carneiro

10

Simplemente agregue a continuación a su RUTA de variable ambiental (sistema) en Windows

C: \ Archivos de programa (x86) \ Graphviz2.38 \ bin

allí, puedes encontrar archivos .exe

Si no funciona

Encuentra la carpeta Graphviz2.38 / bin en tus Archivos de programa no en python lib

Luego, agregue a su RUTA

Es importante encontrar una carpeta donde existan archivos .exe


parece que solo tu publicación puede resolver mi problema ... win10 enterprise edition, jupyter notebook, py 3.6
Travis

10

Paso 1: Instalar Graphviz binary

Ventanas:

  1. Descargue Graphviz desde http://www.graphviz.org/download/
  2. Agregue a continuación la variable de entorno PATH (mencione la versión instalada de graphviz):
    • C: \ Archivos de programa (x86) \ Graphviz2.38 \ bin
    • C: \ Archivos de programa (x86) \ Graphviz2.38 \ bin \ dot.exe
  3. Cierre cualquier cuaderno de Juypter abierto y el símbolo del sistema
  4. Reinicie Jupyter / cmd prompt y pruebe

Linux:

  1. sudo apt-get update
  2. sudo apt-get install graphviz
  3. o compilarlo manualmente desde http://www.graphviz.org/download/

Paso 2: Instalar el módulo graphviz para python

pepita:

  • pip install graphviz

conda:

  • conda install graphviz

1
Resuelto para mí en winzoz
rakwaht

1
Excelente explicación! Gracias ~
Bright Chang

8

Tratar conda install graphviz. Tuve el mismo problema, lo resolví mediante el comando mencionado en MacOS.


1
Conda install graphviztrabajado en windows! nada más parece funcionar: \
Joel Carneiro

8

Al usar conda install graphvize conda install python-graphvizinstalar GraphViz en Windows10, la ruta necesaria era C: / ProgramData / Anaconda3 / Library / bin / graphviz / para mí. Es decir, agregando

import os
os.environ["PATH"] += os.pathsep + 'C:/ProgramData/Anaconda3/Library/bin/graphviz/'

resolvió el problema por mí.


6
conda install python-graphviz

Para Windows, instale Python Graphviz, que incluirá los ejecutables en la ruta.


1
Conda install graphviztrabajado en windows! nada más parece funcionar: \
Joel Carneiro

6

En Ubuntu Linux esto me resolvió:

pip install graphviz
sudo apt-get install graphviz

También puede probar en conda install -c conda-forge graphvizlugar de pip si usa Anaconda.


1
Esto funcionó para mí en WSL en Windows 10 también. La instalación con pip no fue suficiente.
Nerxis

6

Al resolver este problema por mí mismo, utilicé este tutorial de GitHub , que analizaba la causa de este problema. Si leemos entre líneas, dice que necesita el sistema y también el gráfico de Python . Además de conda install, necesitaríamos ejecutar:

conda install -c conda-forge python-graphviz

Luego reinicie el kernel; funciona a las mil maravillas.


4

1) Graphviz: descargue descomprimir en un lugar particular del sistema (pip no funciona en Windows) e incluya la carpeta bin en la ruta ('establecer variables de entorno en Windows' O) configurada manualmente en cada programa

import os
os.environ["PATH"] += os.pathsep + 'C:/GraphViz/bin'

2) Luego pon el modelo para trazar

clf = xgb.train(params, d_train, 1000, evals=evallist, early_stopping_rounds=10)
xgb.plot_tree(clf)
plt.rcParams['figure.figsize'] = [50, 10]
plt.show()

3

Después de instalar el paquete ( enlace si no lo ha hecho), agregue la ruta a dot.exe como una nueva variable del sistema.

La ruta predeterminada es:

C: \ Archivos de programa (x86) \ Graphviz2.38 \ bin \ dot.exe

ingrese la descripción de la imagen aquí


2

Tuve el mismo problema en Linux con Jupyter.

Para resolverlo, agregué la biblioteca de puntos a python sys.path

Primero: verifique si dotestá instalado,

Luego:
encuentre su camino whereis dot-> / local / notebook / miniconda2 / envs / ik2 / bin / dot

Finalmente en el script de Python: sys.path.append ("/ local / notebook / miniconda2 / envs / ik2 / bin / dot")


15
En Linux acabo de hacerlo sudo apt-get install graphviz(después de hacerlo pip install graphviz) y después de eso funcionó.
wordsforthewise

@wordsforthewise Su comentario debería ser una respuesta. Resolvió el problema para mí
Riken Shah

@wordsforthewise esa es la respuesta!
SeF


2

Recibí el mismo mensaje de error en Mac OS (El Capitan), usando el IDE PyCharm. Instalé Graphviz usando brew, como se recomienda en la respuesta de RZK, e instalé el paquete python de graphviz usando PyCharm (pude comprobar que Graphviz se instaló correctamente al intentar dot -Ven un terminal y obtener :)dot - graphviz version 2.40.1 (20161225.0304) . Sin embargo, seguía recibiendo el mensaje de error al intentar llamar a Graphviz desde PyCharm.

Tuve que agregar la ruta / usr / local / bin en las opciones de PyCharm, como se recomienda en la respuesta a esta pregunta para resolver el problema.


2

Esto muestra algún problema de ruta:

pip install graphviz

Entonces esto funcionó para mí:

sudo apt-get install graphviz

2

Estoy en macOS Catalina 10.15.3, y tuve un error similar: ExecutableNotFound: failed to execute ['dot', '-Tsvg'], make sure the Graphviz executables are on your systems' PATH

Solucionado con:

pip3 install graphviz Y brew install graphviz

Tenga en cuenta pip3 installque solo devolverá el mensaje de éxito, Successfully installed graphviz-0.13.2por lo que aún debemos ejecutar brew installpara obtener graphviz 2.42.3 (a partir del 10 de marzo de 2020, 6 p.m.).


1

Para usuarios de Linux que no tienen acceso de root y, por lo tanto, no pueden usar el sudocomando como se sugiere en otras respuestas ...

Primero, active su entorno virtual conda (si desea usar uno):

source activate virtual-env-name

Luego instale graphviz, incluso si ya lo ha hecho usando pip:

conda install graphviz

luego copie el resultado del siguiente comando:

whereis dot

En mi caso, su salida es:

/home/nader/anaconda2/bin/dot

y agréguelo a su variable PATH. Simplemente ejecute el comando a continuación

nano ~/.bashrc

y agregue estas líneas al final del archivo abierto:

PATH="/home/username/anaconda2/bin/dot:$PATH"
export PATH

ahora presione Ctrl+ Oy luego Ctrl+ Xpara guardar y salir.

El problema ya debería estar resuelto.

Usuarios de Pycharm, tenga en cuenta: Pycharm no siempre ve la variable PATH igual que su terminal. Esta solución no funciona para Pycharm, y tal vez otros IDE. Pero puede solucionar esto agregando esta línea de código:

os.environ["PATH"] += os.pathsep + '/home/nader/anaconda2/bin'

a su programa de python. No olvides

import os

primero :)

Editar: si no desea usar conda, aún puede instalar graphviz desde aquí sin ningún permiso de raíz y agregar la carpeta bin a su variable PATH. No probé esto.


¿Qué whereis dotpasa si no produce nada más que dot:? Estoy usando PyCharm en Windows para conectarme al servidor Ubuntu 16.04 y parece que no puedo encontrar la carpeta bin necesaria para agregaros.environ["PATH"] += os.pathsep + '...'
bit_scientist

Más bien, consulte este tema mío publicado aquí
bit_scientist

1

1.instale el paquete de Windows desde: https://graphviz.gitlab.io/_pages/Download/Download_windows.html y descargue el archivo msi

Agregue variables ambientales 2. Agregue C: \ Archivos de programa (x86) \ Graphviz2.38 \ bin a la ruta del usuario

  1. Agregue C: \ Archivos de programa (x86) \ Graphviz2.38 \ bin \ dot.exe a la ruta del sistema

  2. Reinicie su cuaderno de Python.

Funcionará.


1

Agregue graphviz a la ruta del sistema

  1. Windows: edite las variables de entorno del sistema.
  2. Elija variables de entorno.
  3. Seleccionar ruta - Nuevo
  4. Agregue la ruta de graphviz

Ej: C: \ Users \ AppData \ Local \ Continuum \ anaconda3 \ Library \ bin \ graphviz


0

OS Mojave 10.14., Python 3.6

El uso pip install graphviztuvo buenos comentarios en la terminal, pero condujo a este error cuando intenté hacer un gráfico en un cuaderno Jupyter. Luego corrí brew install graphviz, lo que dio un error en la terminal. Luego corrí conda install graphvizy el gráfico funcionó.

Del comentario de @ Leighton: pip solo tiene un problema de ruta igual que el tuyo y conda solo obtiene un error de importación.


0
import os
os.environ["PATH"] += os.pathsep + "/Macintosh HD⁩/anaconda3⁩/lib⁩/⁨python3.7⁩/site-packages⁩/sphinx⁩/templates⁩/graphviz"

¡Esto resolvió el problema de PATH en MAC para mí!


0

Si no está utilizando Conda sino Python vainilla, 'brew install graphviz' funciona.


0
#Write this on anaconda prompt in admin mode
conda install -c anaconda graphviz
conda install -c conda-forge python-graphviz
conda install -c conda-forge/label/broken python-graphviz
conda install -c conda-forge/label/cf201901 python-graphviz
conda install -c conda-forge/label/cf202003 python-graphviz

#check dot -v in window's cmd prompt
C:\WINDOWS\system32>dot -V
dot - graphviz version 2.38.0 (20140413.2041)
(this means graphviz installed successfully)

#Add path to sys and user eve variables
PATH
C:\Anaconda3\pkgs\graphviz-2.38-hfd603c8_2\Library\bin
(search bin folder of graphviz and then copy n paste path in env variables)

#Re-run all cmds in jyupter notebook
#if error occurs (less chances)
#then 
#Restart anaconda and again run all cmds in jyupter notebook
eg.
import graphviz as gp
with open("tree.dot") as f:
    dot_read=f.read()
display(gp.Source(dot_read))

0

intente escribir el siguiente código en anaconda prompt uno por uno.

Esto funcionó para mí.

Fuente: https://anaconda.org/conda-forge/python-graphviz

conda install -c conda-forge python-graphviz
conda install -c conda-forge/label/broken python-graphviz
conda install -c conda-forge/label/cf201901 python-graphviz
conda install -c conda-forge/label/cf202003 python-graphviz 

-2

tratando de hacer esto en python import sys! conda install --yes --prefix {sys.prefix} graphviz import graphviz


Agregue más detalles a su respuesta, como por qué esto solucionaría el problema
Deiv
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.