Resuelva los ejecutables de Graphviz No se encuentran el error en Python
Graphviz es un paquete de software con herramientas de código abierto que ayudan a dibujar gráficos y está disponible en Linux, Windows y macOS.
Dentro de Python, podemos crear gráficos con los ejecutables de Graphviz junto con el paquete. Sin embargo, las personas a menudo se meten en problemas al usarlo por diferentes razones.
Este artículo explica cómo resolver el error No se encuentran los ejecutables de Graphviz
al ejecutar nuestros scripts de Python.
Instale Graphviz para resolver el error No se encuentran los ejecutables de Graphviz
en Python
Antes de mostrarle cómo resolver el error, escribamos un código para crear un gráfico simple utilizando el paquete Graphviz Python (suponiendo que haya instalado el paquete Graphviz Python).
import graphviz
dot = graphviz.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("doctest-output/round-table.gv", view=True)
La salida del código anterior:
// The Round Table
digraph {
A [label="King Arthur"]
B [label="Sir Bedevere the Wise"]
L [label="Sir Lancelot the Brave"]
A -> B
A -> L
B -> L [constraint=false]
}
Traceback (most recent call last):
File "C:\Python310\lib\site-packages\graphviz\backend\execute.py", line 81, in run_check
proc = subprocess.run(cmd, **kwargs)
File "C:\Python310\lib\subprocess.py", line 501, in run
with Popen(*popenargs, **kwargs) as process:
File "C:\Python310\lib\subprocess.py", line 969, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
File "C:\Python310\lib\subprocess.py", line 1438, in _execute_child
hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
FileNotFoundError: [WinError 2] The system cannot find the file specified
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "c:\Users\akinl\Documents\HTML\python\graphz.py", line 11, in <module>
dot.render('doctest-output/round-table.gv', view=True)
File "C:\Python310\lib\site-packages\graphviz\_tools.py", line 171, in wrapper
return func(*args, **kwargs)
File "C:\Python310\lib\site-packages\graphviz\rendering.py", line 122, in render
rendered = self._render(*args, **kwargs)
File "C:\Python310\lib\site-packages\graphviz\_tools.py", line 171, in wrapper
return func(*args, **kwargs)
File "C:\Python310\lib\site-packages\graphviz\backend\rendering.py", line 324, in render
execute.run_check(cmd,
File "C:\Python310\lib\site-packages\graphviz\backend\execute.py", line 84, in run_check
raise ExecutableNotFound(cmd) from e
graphviz.backend.execute.ExecutableNotFound: failed to execute WindowsPath('dot'), make sure the Graphviz executables are on your systems' PATH
La parte importante del mensaje de error es la siguiente:
graphviz.backend.execute.ExecutableNotFound: failed to execute WindowsPath('dot'), make sure the Graphviz executables are on your systems' PATH
El problema es que los ejecutables de Graphviz
no están disponibles para el código de Python y no están presentes en la variable RUTA
. La variable RUTA
nos permite acceder al software desde cualquier directorio además del directorio ejecutable del software.
Por lo tanto, si no tiene Graphviz, debe instalarlo. Debes agregarlo a la RUTA
de tu sistema si lo tienes instalado.
En consecuencia, necesitamos dos cosas para ejecutar un código Graphviz con éxito.
- La Biblioteca
- El Software en sí
Ya tenemos la biblioteca vía pip
:
pip install graphviz
Para instalar Graphviz, vaya a su página de descarga y siga las instrucciones de descarga para cada sistema operativo. Para el sistema operativo Linux (por ejemplo, Ubuntu, Fedora), puede usar los siguientes comandos:
sudo apt install graphviz
sudo yum install graphviz
Para macOS, puede usar el siguiente comando.
sudo port install graphviz
Sin embargo, si tiene Homebrew instalado, puede usar:
brew install graphviz
Existen diferentes medios y procesos para instalarlo para Windows, a través de Chocolatey, Windows Package Manager, Cygwin o paquetes típicos de Windows. Aquí, usaremos el paquete de instalación típico (versión 5.0.0 de 64 bits) que ocupa aproximadamente 4.728 MB.
-
Abra el archivo de instalación y acepte el acuerdo de licencia.
-
Agregue Graphviz al sistema
PATH
, que es muy importante para que su código funcione. Dependiendo de su entorno de trabajo, puede agregar el sistemaRUTA
para todos los usuarios o usuarios actuales.La siguiente imagen selecciona para todos los usuarios.
-
Seleccione la ubicación de instalación e instale.
Para verificar que Graphviz está dentro de nuestra variable de entorno, podemos seguir los siguientes pasos:
-
Busque
variables de entorno
. -
Vaya al botón resaltado
Variables de entorno
. -
Vaya a la fila resaltada con el nombre de variable
Ruta
y haga doble clic en ella. -
Si instaló Graphviz recientemente, debe usar la ruta de instalación (resaltada) hacia el final, como en la imagen a continuación
Ahora que hemos verificado que Graphviz está dentro de la ruta de nuestro sistema como lo sugiere una subparte del mensaje de error, “asegúrese de que los ejecutables de Graphviz estén en la RUTA de su sistema”, cierre su IDE y vuelva a ejecutar su código basado en Graphviz .
El código que ejecutamos anteriormente que resultó en un error ahora debería procesarse y exportarse en PDF.
Y su salida debe ser sin ningún error.
// The Round Table
digraph {
A [label="King Arthur"]
B [label="Sir Bedevere the Wise"]
L [label="Sir Lancelot the Brave"]
A -> B
A -> L
B -> L [constraint=false]
}
Olorunfemi is a lover of technology and computers. In addition, I write technology and coding content for developers and hobbyists. When not working, I learn to design, among other things.
LinkedInArtículo relacionado - Python Error
- Administrar fallas de segmentación en Python
- Archivo <Stdin>, Línea 1, en <Módulo> Error en Python
- Arreglar AttributeError: el objeto 'generador' no tiene atributo 'siguiente' en Python
- Arreglar el comando cl.exe falló: no existe tal archivo o directorio en Windows
- Arreglar NameError: la variable no está definida en Python
- Arreglar Socket.Gaierror: [Errno 8] Nodename ni Servname proporcionado, o desconocido en Python