„RuntimeError: Upewnij się, że pliki wykonywalne Graphviz znajdują się na ścieżce Twojego systemu” po zainstalowaniu Graphviz 2.38

155

Ściągnąłem Graphviz 2.38wersję MSI i zainstalowany w folderze C:\Python34, a następnie uruchomić pip install Graphviz, wszystko poszło dobrze. W ścieżce systemu dodałem C:\Python34\bin. Kiedy próbowałem uruchomić skrypt testowy filename=dot.render(filename='test'), otrzymałem komunikat

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

Próbowałem wprowadzić "C:\Python34\bin\dot.exe"ścieżkę systemową, ale to nie zadziałało, a nawet utworzyłem nową zmienną środowiskową "GRAPHVIZ_DOT"z wartością "C:\Python34\bin\dot.exe", która nadal nie działa. Próbowałem odinstalować Graphviz pip uninstall graphviz, a następnie zainstalować go ponownie i ponownie zainstalować pip, ale nic nie działa.

Cała wiadomość śledzenia zwrotnego to:

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

Czy ktoś ma z tym jakieś doświadczenie?

liga810
źródło

Odpowiedzi:

104

Powinieneś zainstalować pakiet graphviz w swoim systemie (nie tylko pakiet Pythona). Na Ubuntu powinieneś spróbować:

sudo apt-get install graphviz
kame
źródło
Jeśli to nie zadziała (mówi, że odwołuje się do pakietu, ale go nie ma lub coś w tym stylu), uruchom sudo apt-get update, aby zaktualizować apt-get i powiedzieć mu, jakie pakiety tam są.
Pro Q,
Jeśli jesteś w kontenerze Dockera (tak jak ja), byłem już na rooti tylko potrzebowałemapt-get install graphviz
775
101
import os
os.environ["PATH"] += os.pathsep + 'D:/Program Files (x86)/Graphviz2.38/bin/'

W oknach po prostu dodaj te 2 linie na początku, gdzie „D: / Program Files (x86) /Graphviz2.38/bin/” jest zastępowane adresem, w którym znajduje się plik bin.

To rozwiązuje problem.

Aprameyo Roy
źródło
10
pracowałem w systemie Windows, pobrałem Graphviz-2.38.zip stąd graphviz.gitlab.io/_pages/Download/Download_windows.html . Rozpakuj go i umieść we wspomnianym folderze
user3046442
To działa dla mnie. Próbowałem dodać to do zmiennych środowiskowych użytkownika i systemu, ale to nie działa, tylko twoje rozwiązanie działa dla mnie.
Tom
działało to również dla mnie, ale przed działaniem spowodowało kolejny błąd. Z jakiegoś powodu dał mi to konfigurację side-by-side ....- błąd. Musiałem dodatkowo ponownie zainstalować pakiet redystrybucyjny Microsoft Visual C ++ 2008 (x86). Jeśli ktoś ma ten sam problem, oto link: [ microsoft.com/de-DE/download/details.aspx?id=29]
Marco
Użyłem chocolatey do zainstalowania graphvizchoco install -y graphviz
Nissan
Tak, to zadziałało. upewnij się, że pobierasz odpowiedni plik graphviz. Umieściłem również pojemniki Graphviz na ścieżkach użytkownika i ścieżkach systemowych.
maksymalnie
84

Ten rozwiązał problem na MAC :

  brew install graphviz
Rouzbeh
źródło
2
Wydaje się, że w przypadku komputerów Mac jest to najlepsza opcja. Chyba że chcesz użyć MacPorts i zainstalować graphviz stąd: graphviz.org/Download_macos.php .
AlexG,
1
Dzięki, zadziałało na moim MAC. Próbowałem zainstalować zarówno przez pip, jak i conda, ale to nie zadziałało.
Catbuilts
Jak znaleźć mój folder bin, w którym mam graphviz. Mam ten problem i teraz naprawdę zabijam. Właśnie sprawdziłem, że mam Graphviz 2.38.
Herc01
57

Dla Windowsa:

  1. Zainstaluj pakiet Windows z: https://graphviz.gitlab.io/_pages/Download/Download_windows.html
  2. Zainstaluj graphvizpakiet Pythona
  3. Dodaj C:\Program Files (x86)\Graphviz2.38\bindo ścieżki użytkownika
  4. Dodaj C:\Program Files (x86)\Graphviz2.38\bin\dot.exedo ścieżki systemowej

To zadziałało dla mnie!

Jyotsna_b
źródło
15
Zamknij także swój „cmd”, w którym jest uruchomiony notatnik jupyter. Istniejący uruchomiony CMD nie przechwytuje nowych zmian w zmiennych środowiskowych.
Rohit Nandi
To nie zadziałało, dopóki nie zrestartowałem systemu
Mohammad Nazari
To działało doskonale. Musiałem tylko ponownie uruchomić notebooka. Dzięki.
Amresh Giri
23

Spróbuj użyć:

conda install python-graphviz

Plik wykonywalny graphviz znajduje się na innej ścieżce niż katalog conda, jeśli używasz pip install graphviz.

Abishek
źródło
Conda install graphvizpracował na oknach! nic innego nie działa: \
Joel Carneiro
15

OSX Sierra, Python 2.7, Graphviz 2.38

Korzystanie pip install graphviziconda install graphviz OBIE rozwiązuje problem.

pippojawia się tylko problem ze ścieżką taki sam jak twój i pojawia się condatylko błąd importu.

Leighton
źródło
TYLKO to działało dla mnie. po wypróbowaniu wszystkiego. dzięki.
Meghna Natraj
Conda install graphvizpracował na oknach! nic innego nie wydaje się działać: \
Joel Carneiro
12

Krok 1: Zainstaluj plik binarny Graphviz

Okna:

  1. Pobierz Graphviz z http://www.graphviz.org/download/
  2. Dodaj poniżej do zmiennej środowiskowej PATH (wspomnij o zainstalowanej wersji graphviz):
    • C: \ Program Files (x86) \ Graphviz2.38 \ bin
    • C: \ Program Files (x86) \ Graphviz2.38 \ bin \ dot.exe
  3. Zamknij dowolny otwarty notatnik Juypter i wiersz poleceń
  4. Uruchom ponownie monit Jupyter / cmd i przetestuj

Linux:

  1. sudo apt-get update
  2. sudo apt-get install graphviz
  3. lub utwórz go ręcznie z http://www.graphviz.org/download/

Krok 2: Zainstaluj moduł graphviz dla Pythona

pypeć:

  • pip install graphviz

conda:

  • conda zainstaluj graphviz
Chankey Pathak
źródło
1
Rozwiązany dla mnie na winzoz
rakwaht
1
Doskonałe wyjaśnienie! Dziękuję ~
Bright Chang
10

Wystarczy dodać poniżej do zmiennej środowiskowej (system) PATH w systemie Windows

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

tam można znaleźć pliki .exe

Jeśli nie działa

Znajdź folder Graphviz2.38 / bin w swoim Program Files, a nie w python lib

Następnie dodaj do swojej PATH

Ważne jest, aby znaleźć folder, w którym istnieją pliki .exe

JessieB
źródło
wydaje się, że tylko twój post może rozwiązać mój problem ... win10 enterprise edition, jupyter notebook, py 3.6
Travis
8

Spróbuj conda install graphviz. Miałem ten sam problem, rozwiązałem go wspomnianym poleceniem w MacOS.

ajayramesh
źródło
1
Conda install graphvizpracował na oknach! nic innego nie wydaje się działać: \
Joel Carneiro
8

Używając conda install graphvizi conda install python-graphvizinstalując GraphViz na Windows10, potrzebna ścieżka to C: / ProgramData / Anaconda3 / Library / bin / graphviz / for me. Tj. Dodawanie

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

rozwiązał problem za mnie.

rosa b.
źródło
6
conda install python-graphviz

W przypadku systemu Windows zainstaluj Python Graphviz, który będzie zawierał pliki wykonywalne w ścieżce.

abhishek
źródło
1
Conda install graphvizpracował na oknach! nic innego nie działa: \
Joel Carneiro
6

W systemie Ubuntu Linux rozwiązało to dla mnie:

pip install graphviz
sudo apt-get install graphviz

Możesz także spróbować conda install -c conda-forge graphvizzamiast pip, jeśli używasz Anacondy.

słowa do rozumu
źródło
1
Działało to również dla mnie w WSL w Windows 10. Instalacja za pomocą pip nie wystarczyła.
Nerxis
6

Rozwiązując ten problem samodzielnie, skorzystałem z tego samouczka GitHub , który przeanalizował przyczynę tego problemu. Jeśli czytamy między wierszami, mówi się, że potrzebuje systemu, a także wykresu Pythona . Oprócz conda installtego musielibyśmy uruchomić:

conda install -c conda-forge python-graphviz

Następnie zrestartuj jądro; To działa jak urok.

Jaya
źródło
5

Jestem na macOS Catalina 10.15.3 i miałem podobny błąd: ExecutableNotFound: failed to execute ['dot', '-Tsvg'], make sure the Graphviz executables are on your systems' PATH

Naprawiono to za pomocą:

pip3 install graphviz I brew install graphviz

Zwróć uwagę, że pip3 installzwróci tylko komunikat o powodzeniu, Successfully installed graphviz-0.13.2więc nadal musimy uruchomić, brew installaby uzyskać Graphviz 2.42.3 (od 10 marca 2020 r., 18:00).

Keane
źródło
4

1) Graphviz - pobierz, rozpakuj w określonym miejscu w systemie (pip nie działa w systemie Windows) i umieść folder bin w ścieżce („ustaw zmienne środowiskowe w oknach” LUB) ustawioną ręcznie w każdym programie

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

2) Następnie umieść model na wykresie

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
źródło
4

To pokazuje problem ze ścieżką:

pip install graphviz

Więc to zadziałało dla mnie:

sudo apt-get install graphviz
Varat Vohra
źródło
3

Po zainstalowaniu pakietu ( link jeśli nie masz), dodaj ścieżkę do dot.exe jako nową zmienną systemową.

Domyślna ścieżka to:

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

wprowadź opis obrazu tutaj

typhon04
źródło
2

Miałem ten sam problem w Linuksie z Jupyter.

Aby go rozwiązać, dodałem bibliotekę dot do python sys.path

Po pierwsze: sprawdź, czy dotjest zainstalowany,

Następnie:
znajdź jego ścieżkę whereis dot-> / local / notebook / miniconda2 / envs / ik2 / bin / dot

Wreszcie w skrypcie Pythona: sys.path.append („/ local / notebook / miniconda2 / envs / ik2 / bin / dot”)

nie? Nie
źródło
16
Na Linuksie po prostu zrobiłem sudo apt-get install graphviz(po wykonaniu pip install graphviz) i potem zadziałało.
słowa z
@wordsforthewise Twój komentarz powinien być odpowiedzią. Rozwiązał problem dla mnie
Riken Shah
@wordsforhewise to jest odpowiedź!
SeF
2

Otrzymałem ten sam komunikat o błędzie w systemie Mac OS (El Capitan), używając IDE PyCharm. Zainstalowałem Graphviz przy użyciu brew, zgodnie z zaleceniami RZK, i zainstalowałem pakiet graphviz python za pomocą PyCharm (mogłem sprawdzić, czy Graphviz został poprawnie zainstalowany, próbując dot -Vw terminalu i otrzymując:dot - graphviz version 2.40.1 (20161225.0304) . Mimo to nadal otrzymywałem komunikat o błędzie podczas próby połączenia się z Graphviz z PyCharm.

Musiałem dodać ścieżkę / usr / local / bin w opcjach PyCharm, zgodnie z zaleceniami w odpowiedzi na to pytanie, aby rozwiązać problem.

wieżowiec
źródło
1

Dla użytkowników Linuksa, którzy nie mają uprawnień administratora i dlatego nie mogą używać sudopolecenia, jak sugerowano w innych odpowiedziach ...

Najpierw aktywuj swoje wirtualne środowisko Conda (jeśli chcesz go używać) przez:

source activate virtual-env-name

Następnie zainstaluj graphviz, nawet jeśli już to zrobiłeś za pomocą pip:

conda install graphviz

następnie skopiuj wynik następującego polecenia:

whereis dot

W moim przypadku jego wyjście to:

/home/nader/anaconda2/bin/dot

i dodaj go do zmiennej PATH. Po prostu uruchom poniższe polecenie

nano ~/.bashrc

i dodaj te linie na końcu otwartego pliku:

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

teraz naciśnij Ctrl+, Oa następnie Ctrl+, Xaby zapisać i wyjść.

Problem powinien już zostać rozwiązany.

Uwaga użytkownicy Pycharm: Pycharm nie zawsze widzi zmienną PATH tak samo jak terminal. To rozwiązanie nie działa w przypadku Pycharm i być może innych IDE. Ale możesz to naprawić, dodając ten wiersz kodu:

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

do programu w Pythonie. Nie zapomnij

import os

pierwszy :)

Edycja: Jeśli nie chcesz używać conda, nadal możesz zainstalować Graphviz stąd bez uprawnień roota i dodać folder bin do zmiennej PATH. Nie testowałem tego.

NKSHELL
źródło
co, jeśli whereis dotnic nie wyświetla dot:? Używam PyCharm w systemie Windows do łączenia się z serwerem Ubuntu 16.04 i nie mogę znaleźć odpowiedniego folderu bin do dodaniaos.environ["PATH"] += os.pathsep + '...'
bit_scientist
Raczej odwołaj się do mojego wydania zamieszczonego tutaj
bit_scientist
1

1. zainstaluj pakiet Windows z: https://graphviz.gitlab.io/_pages/Download/Download_windows.html i pobierz plik msi

Dodaj zmienne środowiskowe 2. Dodaj C: \ Program Files (x86) \ Graphviz2.38 \ bin do ścieżki użytkownika

  1. Dodaj C: \ Program Files (x86) \ Graphviz2.38 \ bin \ dot.exe do ścieżki systemowej

  2. Zrestartuj swój notatnik Pythona.

To będzie działać.

Roli
źródło
1

OS Mojave 10.14., Python 3.6

Używanie pip install graphvizmiało dobrą opinię w terminalu, ale doprowadziło do tego błędu, gdy próbowałem zrobić wykres w notatniku Jupyter. Następnie pobiegłem brew install graphviz, co dało błąd w terminalu. Potem pobiegłem conda install graphvizi wykres zadziałał.

Z komentarza @ Leighton: pip ma tylko problem ze ścieżką tak samo jak twój, a conda otrzymuje tylko błąd importu.

Mac Strelioff
źródło
1

Dodaj graphviz do ścieżki systemowej

  1. Windows - Edytuj zmienne środowiskowe systemu.
  2. Wybierz zmienne środowiskowe.
  3. Wybierz Ścieżka - Nowa
  4. Dodaj ścieżkę do graphviz

Np .: C: \ Users \ AppData \ Local \ Continuum \ anaconda3 \ Library \ bin \ graphviz

Kranthi
źródło
0
import os
os.environ["PATH"] += os.pathsep + "/Macintosh HD⁩/anaconda3⁩/lib⁩/⁨python3.7⁩/site-packages⁩/sphinx⁩/templates⁩/graphviz"

To rozwiązało dla mnie problem PATH na MAC!

Antonio Piscopo
źródło
0

Jeśli nie używasz Conda, ale waniliowego Pythona, działa „brew install graphviz”.

Bhaskar
źródło
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
źródło
0

spróbuj wpisać po kolei następujący kod w zachęcie anaconda.

to działało dla mnie.

Źródło: 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
źródło
-2

próba zrobienia tego w pythonie import sys! conda install --yes --prefix {sys.prefix} graphviz import graphviz

Roli
źródło
Dodaj więcej szczegółów do swojej odpowiedzi, na przykład dlaczego to rozwiązałoby problem
Deiv