我一直在尝试使这些软件包工作很长时间,但没有成功。基本上错误是:
GraphViz's Executables not found
编辑:我最初没有发布log
带有错误的终端。我现在正在使用Ubuntu
,所以我将无法重现我过去遇到的完全相同的错误(一年前,过去如此遥远......)。但是,我在当前设置中遇到了类似的错误——如果不一样的话——错误;即使在使用带有pipenv
. 该错误似乎来自@张乾元的回答中描述的行:
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
我尝试GraphViz
通过 2 种不同的方式进行安装:通过包pip install graphviz
和通过.msi
包(还尝试安装pydot
,pydotplus
并且graphviz
以许多不同的顺序)。
我试图运行的代码只是Iris Datasetdot-to-png
的转换器。
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())
在Jupyter Notebooks
里面,Atom
系统似乎在寻找GraphViz
里面pydotplus
,正如它所指向的那样~\Anaconda3\lib\site-packages\pydotplus\graphviz.py
。不应该反过来吗?
最后,我只想指出,我已经尝试将GraphViz
' 路径添加到系统的PATH
using 中C:\Users\Philippe\Anaconda3\Library\bin\graphviz
。