Ich habe schon seit einiger Zeit versucht, diese Pakete zum Laufen zu bringen, aber ohne Erfolg. Grundsätzlich ist der Fehler:
GraphViz's Executables not found
EDIT : Ich hatte logursprünglich kein Terminal mit dem Fehler gepostet . Ich verwende es Ubuntujetzt, damit ich nicht genau den Fehler reproduzieren kann, den ich in der Vergangenheit erhalten habe (vor einem Jahr, so weit weg in der Vergangenheit ...). In meinem aktuellen Setup ist jedoch ein ähnlicher - wenn nicht derselbe - Fehler aufgetreten. auch bei Verwendung einer virtuellen Umgebung mit pipenv. Der Fehler scheint von Zeilen zu stammen, die in der Antwort von @ 张 乾元 beschrieben wurden :
Traceback (most recent call last):
File "example.py", line 49, in <module>
Image(graph.create_png())
File "/home/philippe/.local/lib/python3.6/site-packages/pydotplus/graphviz.py", line 1797, in <lambda>
lambda f=frmt, prog=self.prog: self.create(format=f, prog=prog)
File "/home/philippe/.local/lib/python3.6/site-packages/pydotplus/graphviz.py", line 1960, in create
'GraphViz\'s executables not found')
pydotplus.graphviz.InvocationException: GraphViz's executables not found
Ich habe versucht, GraphVizüber zwei verschiedene Arten zu installieren : über pip install graphvizund durch das .msiPaket (und auch versucht zu installieren pydot, pydotplusund graphvizin vielen verschiedenen Reihenfolgen).
Der Code, den ich ausführen möchte, ist einfach ein dot-to-pngKonverter für den Iris-Datensatz .
from sklearn.tree import DecisionTreeClassifier
import sklearn.datasets as datasets
from sklearn.externals.six import StringIO
from sklearn.tree import export_graphviz
import pandas as pd
import pydotplus
from IPython.display import Image
iris = datasets.load_iris()
df = pd.DataFrame(iris.data, columns = iris.feature_names)
y = iris.target
dtree = DecisionTreeClassifier()
dtree.fit(df,y)
dot_data = StringIO()
export_graphviz(
dtree,
out_file = dot_data,
filled = True,
rounded = True,
special_characters = True
)
graph_1 = pydotplus.graph_from_dot_data(dot_data.getvalue())
Image(graph_1.create_png())
In Jupyter Notebooksund in Atomscheint das System nach GraphVizinnen zu suchen pydotplus, wie es zeigt ~\Anaconda3\lib\site-packages\pydotplus\graphviz.py. Sollte es nicht umgekehrt sein?
Schließlich möchte ich nur darauf hinweisen , dass ich schon versucht habe , das Hinzufügen GraphViz‚s Pfad zum System ist PATHunter Verwendung C:\Users\Philippe\Anaconda3\Library\bin\graphviz.
pipenv, virtualenvoder Docker Containers, obwohl ich noch nicht richtig es noch geprüft.