Executabilele Graphviz nu sunt găsite (Python 3.4) (Programare, Python, Calea, Graphviz, Pydot)

Morteza R a intrebat.

Rulez Python3.4 pe Windows 7. Încerc să folosesc interfața Python pentru Graphviz. Acesta este un script pe care intenționez să îl execut:

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)

Primesc următoarea eroare în timpul execuției:

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

Acum sunt sigur că am instalat corect dependențele corecte. Am încercat mai întâi să setez variabilele de mediu corecte. Executabilele graphviz sunt localizate la C:Program Files (x86)Graphviz2.37bin așa că am mers la secțiunea Variabile de mediu. Există două secțiuni acolo: User Variables și System Variables. La Variabile de sistem am făcut clic pe Path și apoi am făcut clic pe Edit și am adăugat ;C:Program Files (x86)Graphviz2.37bin la sfârșitul șirului și am salvat. Acest lucru nu a eliminat eroarea.

Apoi, urmând răspunsul dat aici, am dezinstalat pydot (de fapt, aici folosesc pydotplus) și l-am reinstalat din nou, dar tot fără succes.

Încerc de ore întregi să rezolv această problemă și toată chestia cu variabila PATH este pur și simplu confuză și frustrantă.

28 răspunsuri
tom4everitt

Am avut și eu această problemă pe Ubuntu 16.04.

S-a rezolvat prin rularea sudo apt-get install graphviz în plus față de instalarea pip pe care o efectuasem deja.

Silvia Bakalova

În cazul meu (Win10, Anaconda3, Jupyter notebook) după ce am instalat "conda install graphviz" trebuie să adaug la PATH: C:UsersusernameAnaconda3Librarybingraphviz

Pentru a modifica PATH mergeți la Control Panel > System and Security > System > Advanced System Settings > Environment Variables > Path > Edit > New

Comentarii

  • La mine a funcționat (Python 3.5 pe Win10, Anaconda3, PyCharm) -.  > Por MohaMad.
  • nu a funcționat pentru mine (chiar dacă toate fișierele binare ale graphviz pot fi găsite în .AnacondaLibrarybingraphviz) –  > Por Tanguy.
  • Calea mea a fost: C:ProgramDataAnaconda3Librarybingraphviz –  > Por The Red Pea.
  • A trebuit să-mi repornesc calculatorul pentru ca noua cale să fie folosită de PyCharm –  > Por Kim Kern.
  • Pycharm 2019.3, Anaconda 3, a trebuit să instalez graphviz și python-graphviz (File > Settings > search for Interpreter) și apoi adăugați Librarybingraphviz calea manual –  > Por Alaa M..
Veggiet

Deoarece Mac OS nu a fost menționat voi adăuga că am avut aceeași problemă pe OS X Yosemite, soluția pe care am găsit-o a fost să fac brew install graphviz

Acest lucru a rezolvat problema, nu sunt sigur dacă nu ar fi trebuit să editez doar unul dintre celelalte răspunsuri din această listă, deoarece toate par a fi același răspuns, trebuie doar să instalați un pachet oficial în plus față de Biblioteca Python.

Comentarii

  • Mulțumesc mult, funcționează și pe OS X Mojave, se pare că comanda pip install se ocupă doar de căile de acces la instrument ca un wrapper, dar executabilele reale trebuie instalate manual, cu brew în acest caz. –  > Por le0diaz.
  • De asemenea, funcționează și pe Catalina –  > Por Simon.
Plory.Truck

Pe notebook-ul jupyter(ipython) cu anaconda în win10 am rezolvat problema prin conda install graphviz după ce am instalat graphviz prin pip install graphviz

Comentarii

  • windows 8.1 x64 w/ Python 3.5.1 :: Anaconda 4.0.0 (64 biți) după instalarea pip a reușit să instalez conda și asta mi-a rezolvat problema. este cam înșelător faptul că spune să faci doar instalarea pip pentru a începe cu graphviz, pentru că trebuie neapărat să instalezi în ambele moduri –  > Por flux9998.
Aris

Am rezolvat-o instalând direct de la https://graphviz.gitlab.io/_pages/Download/Download_windows.html și incluzând în calea windows:

C:Program Files (x86)Graphviz2.38bin

C:Program Files (x86)Graphviz2.38

După ce am repornit Windows

Comentarii

  • La mine a funcționat doar cu prima linie adăugată în path și fără să fie nevoie să repornesc Windows (doar IDE-ul). Mulțumesc pentru sfat! –  > Por Irina.
JackChen

atunci când adăugați C:Program Files (x86)Graphviz2.38bin la PATH, apoi trebuie să închideți mediul IDE, cum ar fi spyder și să reporniți, veți rezolva problema „RuntimeError:asigurați-vă că executabilele Graphviz se află în calea sistemului dumneavoastră”

JackCHEN

Pentru a rezolva această problemă, atunci când instalați cu succes Graphviz2.38, adăugați variabila PATH la calea sistemului.Sub Variabilele sistemului puteți face clic pe Path și apoi faceți clic pe Edit și adăugați ;C:Program Files (x86)Graphviz2.38bin la sfârșitul șirului și salvați.După aceea, reporniți IDE-ul python, cum ar fi spyper, apoi funcționează bine.

Nu uitați să închideți Spyder și apoi să reporniți.

Regi Mathew

Dacă sunteți pe Win10, instalați Graphviz și apoi utilizați următoarea comandă pentru a adăuga calea.

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

Afshin Amiri

Vă rugăm să rețineți că folosesc Windows 10. unele dintre următoarele pot sau nu pot fi aplicabile pentru alte versiuni de Windows sau sisteme de operare:

** Nota 2: **
„adresa fișierului Graphviz bin de pe sistemul dvs.” poate fi C:Program Files (x86)Graphviz2.38bin sau orice altă cale în care ați instalat Graphviz acolo.

Avem probleme nu numai cu Graphviz, ci și cu alte fișiere EXE externe pe care dorim să le folosim în Jupyter.
Motivul este că atunci când jupyter vrea să importe un pachet, caută în directorul de lucru pentru a-l găsi și atunci când nu reușește să găsească pachetul returnează astfel de erori.
Ceea ce putem face pentru a rezolva această problemă este după cum urmează:
1) verificați dacă Graphviz este instalat pe sistemul dvs. și dacă nu, îl puteți descărca și instala de la:

https://graphviz.gitlab.io/_pages/Download/Download_windows.html
și apoi să-l instalați. Atunci când instalați Graphviz, țineți cont de locul (în ce dosar) îl instalați. dacă vedeți eroarea de mai sus atunci când utilizați

import graphviz

atunci aveți mai multe opțiuni:

2) puteți apela fișierul .exe din ipynb prin intermediul

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

Experiența mea este că funcționează numai pentru același ipynb cu care lucrez și de fiecare dată când deschid notebook-ul trebuie să apelez la aceste linii de cod.

3) Dacă doriți ca Jupyter să găsească fișierul exe, trebuie să setați calea de mediu.
În windows 10 puteți face acest lucru mergând la:
Control Panel > System and Security > System > Advanced System Settings > Environment Variables > Path > Edit > New
și apoi adăugați „adresa fișierului Graphviz bin de pe sistemul dvs.” În Windows 8 sau inferior, mergeți la :
Control Panel > System and Security > System > Advanced System Settings > Environment Variables > Environment Variables
și apoi adăugați ;(punct și virgulă) + „adresa fișierului Graphviz bin de pe sistemul dvs.” la sfârșitul șirului de trasee.
Notă: nu uitați să vă reporniți mașina.

4) și chiar dacă acest lucru nu funcționează, definiți o variabilă care să meargă la:
Control Panel > System and Security > System > Advanced System Settings > Environment Variables și apoi:

Apoi definiți o variabilă astfel::

Nu uitați să numiți variabila Graphviz. În cele din urmă, reporniți PC-ul și sperați că funcționează.

Geekquad

Am întâlnit aceeași problemă în Jupyter Notebook. adăugați acest lucru și sunteți gata să mergeți.

import os

os.environ['PATH'] = os.environ['PATH']+';'+os.environ['CONDA_PREFIX']+r"Librarybingraphviz"

Shersha Fn

Doar instalați

conda install graphviz

apoi instalați

conda install -c conda-forge pydotplus

Jayani Sumudini

Pentru windows 8.1 & python 2.7 , am rezolvat problema urmând pașii de mai jos

1 . Descărcați și instalați graphviz-2.38.msi http://www.graphviz.org/pub/graphviz/stable/windows/graphviz-2.38.msi

2 . Setați variabila path

  • Control Panel > System and Security > System > Advanced System Settings > Environment Variables > Path > Edit
  • adăugați „C:Program Files (x86)Graphviz2.38bin

Morteza R

După cum se pare, se știe că Graphviz2.37 are probleme cu variabila PATH pe Windows. L-am dezinstalat, am eliminat variabilele de mediu asociate cu el și, în schimb, am descărcat și instalat versiunea beta 2.39, mai nouă, iar acum funcționează de minune.

Comentarii

Jagannath Banerjee

Am încercat să configurez variabila de mediu. Nu a funcționat.Sunt în mediul WindowsCombinarea metodelor de mai sus a funcționat pentru mine :

  1. Descărcat graphviz-2.38.zip de la https://graphviz.gitlab.io/_pages/Download/Download_windows.html

  2. Am copiat folderul extras în C:Users\AppDataLocalContinuumanaconda3pkgsGraphviz2.38

  3. Am apelat locația Graphviz în codul meu

    Construiți clasificatorul

    import sklearn.datasets as datasets
    import pandas as pd
    from sklearn.tree import DecisionTreeClassifier
    iris=datasets.load_iris()
    df=pd.DataFrame(iris.data, columns=iris.feature_names)
    y=iris.target
    
    dtree=DecisionTreeClassifier()
    dtree.fit(df,y)
    

    Construiți arborele

    from sklearn.externals.six import StringIO  
    from IPython.display import Image  
    from sklearn.tree import export_graphviz
    import pydotplus
    import graphviz
    import os
    os.environ["PATH"] += os.pathsep + 'C:/Users/tstusr/AppData/Local/Continuum/anaconda3/pkgs/Graphviz2.38/bin'
    
    dot_data = StringIO()
    export_graphviz(dtree, out_file=dot_data,  
                    filled=True, rounded=True,
                    special_characters=True)
    graph = pydotplus.graph_from_dot_data(dot_data.getvalue())  
    Image(graph.create_png())
    

    Iată cum arată arborele:

Comentarii

  • obținând o eroare de sintaxă pentru linia de cale – SyntaxError: caracter neașteptat după caracterul de continuare a liniei –  > Por rishi jain.
mazazino

Folosesc Windows 10, Python 3.6 pe Anaconda 3 și m-am confruntat cu aceeași problemă.

Am reușit să o fac să funcționeze făcând următoarele în succesiune:

  1. Din terminalul Anaconda: pip install pydotplus
  2. Din Terminalul Anaconda: conda install pydotplus
  3. Din Terminalul Anaconda: pip install graphviz
  4. Din Terminalul Anaconda: conda install graphviz
  5. M-am dus la Windows Environment Varialbes, PATH, și am adăugat locația fișierului meu dot.exe sub directorul graphviz din Anaconda.

a funcționat bine după aceea.

Sonu Kumari Sharma

M-am confruntat cu aceeași problemă în timp ce încercam să creez arborele de decizie prin pydotplus și graphviz. Și am folosit metoda variabilei de cale pentru a rezolva această problemă.

Mai jos sunt pașii exacți pe care i-am folosit:

  1. Deși aveam deja graphviz prin comanda conda install , am reîncărcat cel mai recent pachet din calea de mai jos.https://graphviz.gitlab.io/_pages/Download/Download_windows.htmlDescărcat : graphviz-2.38.zip (Stable Release)

  2. Am copiat folderul extras în următoarea cale pe C: Drive.C:Program Files (x86)

  3. Modificat variabila de cale a sistemului și adăugat următoarea cale la ea. variabila de cale : Control Panel > System and Security > System > Advance system Setting > Environment Variable > PathC:Program Files (x86)graphviz-2.38releasebin;

  4. După adăugarea căii de mai sus la variabila de mediu , ați repornit sistemul.

  5. A funcționat bine și am reușit să creez arborele de decizie în png.

    introduceți aici descrierea imaginii

njgiv

Am avut aceeași problemă cu Windows 10.

În primul rând, am instalat graphviz-2.38.0 cu următoarea comandă, fără nicio problemă…

install -c anaconda graphviz=2.38.0

În al doilea rând, am instalat pydotplus cu următoarea comandă fără nicio problemă…

install -c conda-forge pydotplus

După aceea, când am ajuns la pasul meu de vizualizare a arborelui de decizie, am avut următoarea problemă cu {InvocationException: GraphViz's executables not found}

C:UsersadminAnaconda3libsite-packagespydotplusgraphviz.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

În cazul meu, tot ce a trebuit să fac pentru a o rezolva a fost să pun calea de mediu a fișierului graphviz executabile în userul meu PATH variabila de mediu a utilizatorului și acest lucru a rezolvat problema. Asigurați-vă că este vorba de calea în care YOUR.exe se află fișierele 🙂

C:UsersadminAnaconda3pkgsgraphviz-2.38.0-4Librarybingraphviz

James Cao

A încercat multe moduri și aici este ceea ce a rezolvat cu adevărat problema – a funcționat atât pentru Windows 8.1/10 & python 3 .

1 . pip install graphviz

2 . acțiunea cheie necesară este de a seta variabila path prin următorii pași de mai jos:

a. Control Panel > System and Security > System > Advanced System Settings > Environment Variables > Path > Editb. adăugați „C:Program Files (x86)Graphviz2.38bin

nono

Am avut aceeași problemă pe Ubuntu(14.04) cu Jupyter.

Pentru a o rezolva am adăugat biblioteca dot la python sys.path

În primul rând: verificați dacă dot este instalat,

Apoi:găsiți calea lui whereis dot -> /local/notebook/miniconda2/envs/ik2/bin/dot

În cele din urmă în scriptul python : sys.path.append(„/local/notebook/miniconda2/envs/ik2/bin/dot”)

张乾元

Vă rugăm să utilizați pydotplus în loc de pydot

  1. Găsiți:C:UserszhangqianyuanAppDataLocalProgramsPythonPython36Libsite-packagespydotplus

  2. Deschideți graphviz.py

  3. Găsiți linia 1925 – linia 1972, găsiți funcția:

    def create(self, prog=None, format='ps'):
    
  4. În funcția find:

    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. Între cele două blocuri adăugați următoarele (calea executabilă a Graphviz):

      self.progs[prog] = "C:/Program Files (x86)/Graphviz2.38/bin/gvedit.exe"`
    
  6. După adăugare, rezultatul este:

    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. salvați fișierul modificat, apoi îl puteți rula cu succes.

  8. ar fi bine să îl salvați ca fișier bmp, deoarece fișierul png nu va funcționa.

Comentarii

  • De ce de două ori același răspuns stackoverflow.com/questions/18438997/… (adică întreținere dublă), mai bine crosslink la alt răspuns. –  > Por albert.
Evan

Nu sunt sigur dacă acesta este un răspuns la ACEASTĂ întrebare, dar acesta pare a fi și firul „cum fac să funcționeze Graphviz pe configurația mea?”. De asemenea, nu am văzut python-graphviz menționat nicăieri.

Ca atare: Ubuntu 16.04, conda Python 3.7, folosind notebook-uri Jupyter.

conda install -c anaconda graphviz
conda install -c conda-forge python-graphviz

Imaginile nu se redau după ce am încercat doar prima comandă; s-au redat după ce am executat-o pe a doua.

De asemenea, am instalat pydot-plus, , dar nu am văzut nicio schimbare în comportament, performanță sau rezoluție a imaginilor.

sauravjoshi23

Am fost blocat pentru o perioadă foarte lungă de timp la această problemă, dar după ceva timp am găsit o soluție:

Marcus Richard

Pentru toți cei care se confruntă cu această problemă în windows 10 chiar și după ce au încercat pașii menționați mai sus, acest lucru a funcționat pentru mine -Pentru utilizatorii de Windows 10 care încearcă să depaneze aceeași eroare, lansați CMD ca administrator (important!) și rulați dot -c și apoi rulați dot -v
Acest lucru a rezolvat problema pentru mine

DesiKeki

Cea mai simplă soluție care a funcționat pentru mine (Windows 10, Jupyter Notebook) pentru această problemă este de a face următoarele:

  1. pip install graphviz
  2. reporniți jupyter
  3. Puneți următorul cod în notebook și executați:
import sys

sys.path.append('C:/Users/usrname/AppData/Local/Continuum/anaconda3/Library/bin/graphviz/')

Weheid

Aceasta este soluția proaspătă pe care am folosit-o eu 🙂

Am aceeași problemă, folosesc Anaconda și Jupyter Notebook.

Ceea ce am făcut eu pentru a rezolva această problemă este să NU instalez Graphiz.zip de pe intenet!

Am făcut doar acești pași:

  1. Crearea unui nou mediu folosind >>conda create -n [env_name]
  2. instalați graphviz lib în interiorul acestui nou mediu: >> conda install graphviz
  3. Am scris aceste linii în celula notebook-ului și am rulat-o import os os.environ['PATH'] = os.environ['PATH']+';'+os.environ['CONDA_PREFIX']+r"Librarybingraphviz"

În cele din urmă, Imaginea a apărut, am făcut o mică petrecere pentru asta pentru că mi-a luat 3 zile de la mine 🙁

Sanya Jain

Încercați

import os

os.environ['PATH']=os.environ['PATH']+';'+os.environ['CONDA_PREFIX']+r"Librarybingraphviz"

Vlade

Pentru mine (Windows 10 + Pycharm2020) acest lucru a funcționat:

  • Adăugat C:Program FilesGraphvizbin la PATH (calea către binarele Graphviz)
  • Reporniți – Poate că ar fi suficient să reporniți PyCharm

Patrick C

Tocmai am întâlnit aceeași problemă. Și aici sunt soluțiile mele.

1.) instalați graphviz

asigurați-vă că puteți găsi acest dosar INSTALL_LOCATION
Graphviz2.38bin”

2.) Pentru obiectul Dot, adăugați acest cod

dot.set_graphviz_executables( {'dot': r'C:Program FilesGraphvizbindot.exe'})

În graphviz.py, oferă această funcție pentru a seta manual calea pentru fișierul de execuție. Apoi, ar trebui să puteți executa codul.

Pentru informarea dvs.: Iată descrierea din set_graphviz_executables

    This method allows to manually specify the location of the GraphViz
    executables.

    The argument to this method should be a dictionary where the keys are
    as follows:

        {'dot': '', 'twopi': '', 'neato': '', 'circo': '', 'fdp': ''}

    and the values are the paths to the corresponding executable,
    including the name of the executable itself.