"RuntimeError: Stellen Sie sicher, dass sich die ausführbaren Dateien von Graphviz auf dem Pfad Ihres Systems befinden", nachdem Sie Graphviz 2.38 installiert haben

138

Ich habe die Graphviz 2.38MSI-Version heruntergeladen und unter Ordner installiert C:\Python34, dann laufe ich pip install Graphviz, alles lief gut. Im Pfad des Systems habe ich hinzugefügt C:\Python34\bin. Als ich versuchte, ein Testskript auszuführen filename=dot.render(filename='test'), erhielt ich eine Nachricht

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

Ich habe versucht, "C:\Python34\bin\dot.exe"den Pfad des Systems einzugeben, aber es hat nicht funktioniert, und ich habe sogar eine neue Umgebungsvariable "GRAPHVIZ_DOT"mit Wert erstellt "C:\Python34\bin\dot.exe", die immer noch nicht funktioniert. Ich habe versucht, Graphviz zu deinstallieren und pip uninstall graphvizdann neu zu installieren und erneut zu installieren, aber nichts funktioniert.

Die gesamte Rückverfolgungsnachricht lautet:

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

Hat jemand irgendwelche Erfahrungen damit?

liga810
quelle

Antworten:

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

Fügen Sie in Windows einfach diese beiden Zeilen am Anfang hinzu, wobei 'D: / Programme (x86) /Graphviz2.38/bin/' durch die Adresse ersetzt wird, an der sich Ihre Bin-Datei befindet.

Das löst das Problem.

Aprameyo Roy
quelle
9
In Windows habe ich graphviz-2.38.zip von hier heruntergeladen . graphviz.gitlab.io/_pages/Download/Download_windows.html . Entpacken Sie es und legen Sie es in den genannten Ordner
user3046442
Das funktioniert bei mir. Ich habe versucht, dies zu Benutzer- und Systemumgebungsvariablen hinzuzufügen, aber das funktioniert nicht, nur Ihre Lösung funktioniert für mich.
Tom
Das hat auch bei mir funktioniert, aber es hat vor der Arbeit einen weiteren Fehler ausgelöst. Aus irgendeinem Grund gab es mir eine Side-by-Side-Konfiguration ....- Fehler. Ich musste zusätzlich das Microsoft Visual C ++ 2008 Redistributable Package (x86) neu installieren. Wenn jemand das gleiche Problem hat, ist hier der Link: [ microsoft.com/de-DE/download/details.aspx?id=29]
Marco
Ich habe schokoladig verwendet, um graphvizchoco install -y graphviz
Nissan
90

Sie sollten das graphviz-Paket auf Ihrem System installieren (nicht nur das Python-Paket). Unter Ubuntu sollten Sie Folgendes versuchen:

sudo apt-get install graphviz
kame
quelle
Wenn dies nicht funktioniert (es heißt, dass auf das Paket verwiesen wird, aber nicht dort oder so ähnlich), führen Sie es sudo apt-get updateaus, um apt-get zu aktualisieren und ihm mitzuteilen, welche Pakete vorhanden sind.
Pro Q
Wenn Sie sich in einem Docker-Container befinden (wie ich), war ich bereits am rootund wurde nur benötigtapt-get install graphviz
7.
79

Dieser löste das Problem für mich auf MAC :

  brew install graphviz
Rouzbeh
quelle
2
Für Mac scheint dies die beste Option zu sein. Es sei denn, Sie möchten MacPorts verwenden und graphviz von hier aus installieren: graphviz.org/Download_macos.php .
AlexG
1
Danke, es hat auf meinem MAC funktioniert. Ich habe versucht, sowohl mit Pip als auch mit Conda zu installieren, aber es hat nicht funktioniert.
Catbuilts
Wie finde ich meinen bin-Ordner, in dem ich graphviz habe? Ich habe dieses Problem und töte gerade wirklich. Ich habe gerade überprüft, ob ich graphviz 2.38 habe.
Herc01
55

Für Windows:

  1. Installieren Sie das Windows-Paket unter: https://graphviz.gitlab.io/_pages/Download/Download_windows.html
  2. Installieren Sie das Python- graphvizPaket
  3. In C:\Program Files (x86)\Graphviz2.38\binauf Benutzer - Pfad
  4. In C:\Program Files (x86)\Graphviz2.38\bin\dot.exezu Systempfad

Das hat bei mir funktioniert!

Jyotsna_b
quelle
15
Schließen Sie auch Ihr "cmd", in dem das Jupyter-Notebook ausgeführt wird. Vorhandene laufende CMD erfassen die neuen Änderungen in den Umgebungsvariablen nicht.
Rohit Nandi
Es hat bei mir nicht funktioniert, bis ich das System neu gestartet habe
Mohammad Nazari
Das hat perfekt funktioniert. Musste nur das Notebook neu starten. Vielen Dank.
Amresh Giri
21

Versuchen Sie es mit:

conda install python-graphviz

Die ausführbare Datei von graphviz befindet sich bei Verwendung auf einem anderen Pfad als Ihr Conda-Verzeichnis pip install graphviz.

Abishek
quelle
Conda install graphvizarbeitete an Fenstern! nichts anderes scheint zu funktionieren: \
Joel Carneiro
12

OSX Sierra, Python 2.7, Graphviz 2.38

Mit pip install graphvizund conda install graphvizBEIDES wird das Problem behoben.

pipEs wird nur das gleiche Pfadproblem wie bei Ihnen und condanur ein Importfehler angezeigt.

Leighton
quelle
NUR das hat bei mir funktioniert. nachdem ich alles versucht habe. Vielen Dank.
Meghna Natraj
Conda install graphvizarbeitete an Fenstern! nichts anderes scheint zu funktionieren: \
Joel Carneiro
10

Fügen Sie einfach unten an deine Umgebungsvariable (system) PATH unter Windows

C: \ Programme (x86) \ Graphviz2.38 \ bin

Dort finden Sie EXE- Dateien

Wenn nicht funktionieren

Suchen Sie den Ordner Graphviz2.38 / bin in Ihren Programmdateien, nicht in Python lib

Fügen Sie dann Ihrem PFAD hinzu

Es ist wichtig, einen Ordner zu finden, in dem EXE-Dateien vorhanden sind

JessieB
quelle
Es scheint, nur Ihr Beitrag kann mein Problem lösen ... Win10 Enterprise Edition, Jupiter Notebook, py 3.6
Travis
10

Schritt 1: Installieren Sie Graphviz Binary

Windows:

  1. Laden Sie Graphviz von http://www.graphviz.org/download/ herunter.
  2. Fügen Sie der Umgebungsvariablen PATH Folgendes hinzu (erwähnen Sie die installierte graphviz-Version):
    • C: \ Programme (x86) \ Graphviz2.38 \ bin
    • C: \ Programme (x86) \ Graphviz2.38 \ bin \ dot.exe
  3. Schließen Sie alle geöffneten Juypter-Notizbücher und die Eingabeaufforderung
  4. Starten Sie die Jupyter / cmd-Eingabeaufforderung neu und testen Sie sie

Linux:

  1. sudo apt-get update
  2. sudo apt-get install graphviz
  3. oder erstellen Sie es manuell von http://www.graphviz.org/download/

Schritt 2: Installieren Sie das graphviz-Modul für Python

Pip:

  • pip install graphviz

conda:

  • conda install graphviz
Chankey Pathak
quelle
1
Gelöst für mich am winzoz
rakwaht
1
Hervorragende Erklärung! Vielen Dank ~
Bright Chang
8

Für die Verwendung conda install graphvizund conda install python-graphvizInstallation von GraphViz unter Windows 10 wurde für mich der Pfad C: / ProgramData / Anaconda3 / Library / bin / graphviz / benötigt . Dh hinzufügen

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

löste das Problem für mich.

rosa b.
quelle
7

Versuchen Sie es conda install graphviz. Ich hatte das gleiche Problem, ich habe es mit dem genannten Befehl in MacOS gelöst.

Ajayramesh
quelle
1
Conda install graphvizarbeitete an Fenstern! nichts anderes scheint zu funktionieren: \
Joel Carneiro
6
conda install python-graphviz

Installieren Sie unter Windows Python Graphviz, das die ausführbaren Dateien im Pfad enthält.

Abhishek
quelle
1
Conda install graphvizarbeitete an Fenstern! nichts anderes scheint zu funktionieren: \
Joel Carneiro
6

Unter Ubuntu Linux löste dies das Problem für mich:

pip install graphviz
sudo apt-get install graphviz

Sie können auch versuchen, conda install -c conda-forge graphvizanstelle von Pip, wenn Sie Anaconda verwenden.

Worte dafür
quelle
1
Dies funktionierte auch für mich in der WSL unter Windows 10. Die Installation mit Pip war nicht genug.
Nerxis
6

Bei der Lösung dieses Problems habe ich dieses GitHub-Tutorial verwendet , in dem die Ursache dieses Problems analysiert wurde. Wenn wir zwischen den Zeilen lesen, heißt es, dass es sowohl System- als auch Python- Diagramme benötigt. Außerdem conda installmüssten wir Folgendes ausführen:

conda install -c conda-forge python-graphviz

Starten Sie dann den Kernel neu. es wirkt wie ein Zauber.

Jaya
quelle
4

1) Graphviz - Download entpacken an einer bestimmten Stelle im System (pip funktioniert nicht in Windows) und fügen Sie den Ordner bin in den Pfad ein ('Umgebungsvariablen in Windows festlegen' ODER), der manuell in jedem Programm festgelegt wurde

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

2) Setzen Sie dann das Modell zum Plotten

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()
user41986
quelle
3

Fügen Sie nach der Installation des Pakets ( Link, falls nicht vorhanden) den Pfad zu dot.exe als neue Systemvariable hinzu.

Der Standardpfad lautet:

C: \ Programme (x86) \ Graphviz2.38 \ bin \ dot.exe

Geben Sie hier die Bildbeschreibung ein

typhon04
quelle
2

Ich hatte das gleiche Problem unter Linux mit Jupyter.

Um es zu lösen, habe ich die Punktbibliothek zu python sys.path hinzugefügt

Erstens: Überprüfen Sie, ob dotinstalliert ist.

Dann:
Finde seinen Pfad whereis dot-> / local / notebook / miniconda2 / envs / ik2 / bin / dot

Schließlich im Python-Skript: sys.path.append ("/ local / notebook / miniconda2 / envs / ik2 / bin / dot")

nono
quelle
15
Unter Linux habe ich es gerade gemacht sudo apt-get install graphviz(nachdem ich es gemacht habe pip install graphviz) und danach hat es funktioniert.
Worte für den
@wordsforthewise Dein Kommentar sollte eine Antwort sein. Das Problem für mich gelöst
Riken Shah
@wordsforthewise das ist die Antwort!
SeF
2

Ich hatte die gleiche Fehlermeldung unter Mac OS (El Capitan) mit der PyCharm-IDE. Ich hatte Graphviz mit Brew installiert, wie in der Antwort von RZK empfohlen, und das Python-Paket graphviz mit PyCharm installiert (ich konnte überprüfen, ob Graphviz korrekt installiert wurde, indem ich es dot -Vin einem Terminal versuchte und abrief :)dot - graphviz version 2.40.1 (20161225.0304) . Trotzdem wurde immer noch die Fehlermeldung angezeigt, als ich versuchte, Graphviz von PyCharm aus aufzurufen.

Ich musste den Pfad / usr / local / bin in den PyCharm-Optionen hinzufügen, wie in der Antwort auf diese Frage empfohlen , um das Problem zu beheben.

Wolkenkratzer
quelle
2

Dies zeigt ein Pfadproblem:

pip install graphviz

Das hat also bei mir funktioniert:

sudo apt-get install graphviz
Varat Vohra
quelle
2

Ich bin auf macOS Catalina 10.15.3 und hatte einen ähnlichen Fehler: ExecutableNotFound: failed to execute ['dot', '-Tsvg'], make sure the Graphviz executables are on your systems' PATH

Es wurde behoben mit:

pip3 install graphviz UND brew install graphviz

Beachten Sie, pip3 installdass nur die Erfolgsmeldung zurückgegeben wird, Successfully installed graphviz-0.13.2sodass wir noch ausführen müssen brew install, um graphviz 2.42.3 zu erhalten (Stand: 10. März 2020, 18:00 Uhr).

Keane
quelle
1

Für Linux-Benutzer, die keinen Root-Zugriff haben und daher den sudoin anderen Antworten vorgeschlagenen Befehl nicht verwenden können ...

Aktivieren Sie zunächst Ihre virtuelle Conda-Umgebung (falls Sie eine verwenden möchten) durch:

source activate virtual-env-name

Installieren Sie dann graphviz, auch wenn Sie es bereits mit pip getan haben:

conda install graphviz

Kopieren Sie dann das Ergebnis des folgenden Befehls:

whereis dot

In meinem Fall lautet die Ausgabe:

/home/nader/anaconda2/bin/dot

und fügen Sie es Ihrer PATH-Variablen hinzu. Führen Sie einfach den folgenden Befehl aus

nano ~/.bashrc

und fügen Sie diese Zeilen am Ende der geöffneten Datei hinzu:

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

Drücken Sie jetzt Ctrl+ Ound dann Ctrl+ X, um zu speichern und zu beenden.

Das Problem sollte jetzt gelöst sein.

Pycharm-Benutzer, bitte beachten Sie: Pycharm sieht die PATH-Variable nicht immer genauso wie Ihr Terminal. Diese Lösung funktioniert nicht für Pycharm und möglicherweise andere IDEs. Sie können dies jedoch beheben, indem Sie diese Codezeile hinzufügen:

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

zu Ihrem Python-Programm. Vergiss nicht

import os

zuerst :)

Bearbeiten: Wenn Sie conda nicht verwenden möchten, können Sie von hier aus graphviz ohne Root-Berechtigungen installieren und den Ordner bin zu Ihrer PATH-Variablen hinzufügen. Ich habe das nicht getestet.

NKSHELL
quelle
Was ist, wenn whereis dotnichts anderes ausgegeben wird dot:? Ich verwende PyCharm unter Windows, um eine Verbindung zum Ubuntu 16.04-Server os.environ["PATH"] += os.pathsep + '...'
herzustellen,
Beziehen Sie sich
1

1. Installieren Sie das Windows-Paket unter: https://graphviz.gitlab.io/_pages/Download/Download_windows.html und laden Sie die MSI-Datei herunter

Hinzufügen von Umgebungsvariablen 2. Fügen Sie dem Benutzerpfad C: \ Programme (x86) \ Graphviz2.38 \ bin hinzu

  1. Fügen Sie C: \ Programme (x86) \ Graphviz2.38 \ bin \ dot.exe zum Systempfad hinzu

  2. Starten Sie Ihr Python-Notizbuch neu.

Es wird klappen.

Roli
quelle
1

In graphviz zum Systempfad

  1. Windows - Bearbeiten Sie die Systemumgebungsvariablen.
  2. Wählen Sie Umgebungsvariablen.
  3. Wählen Sie Pfad - Neu
  4. Fügen Sie den Pfad von graphviz hinzu

Beispiel: C: \ Benutzer \ AppData \ Local \ Continuum \ anaconda3 \ Library \ bin \ graphviz

Kranthi Kumar Valaboju
quelle
0

OS Mojave 10.14., Python 3.6

Die Verwendung pip install graphvizhatte eine gute Rückmeldung im Terminal, führte jedoch zu diesem Fehler, als ich versuchte, ein Diagramm in einem Jupyter-Notizbuch zu erstellen. Ich lief dann brew install graphviz, was einen Fehler im Terminal gab. Dann rannte ich conda install graphvizund die Grafik funktionierte.

Aus @ Leightons Kommentar: pip bekommt nur das gleiche Pfadproblem wie Ihr und conda bekommt nur einen Importfehler.

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

Dies hat das PATH-Problem auf MAC für mich gelöst!

Antonio Piscopo
quelle
0

Wenn Sie nicht Conda, sondern Vanille-Python verwenden, funktioniert 'Brew Install Graphviz'.

Bhaskar
quelle
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))
Priya
quelle
0

Versuchen Sie, den folgenden Code nacheinander in die Anaconda-Eingabeaufforderung einzugeben.

das hat bei mir funktioniert.

Quelle: 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 
Chirag Palan
quelle
-2

Versuchen Sie dies in Python-Import sys! conda install --yes --prefix {sys.prefix} graphviz import graphviz

Roli
quelle
Bitte fügen Sie Ihrer Antwort weitere Details hinzu, z. B. warum dies das Problem beheben würde
Deiv