安装graphviz,没有名为graphviz的模块

Posted

技术标签:

【中文标题】安装graphviz,没有名为graphviz的模块【英文标题】:installation graphviz, no module named graphviz 【发布时间】:2018-10-10 17:23:06 【问题描述】:

我一直在尝试安装 graphviz 并与 python 连接以绘制决策树的一些节点。我已经阅读了很多与我有同样问题的线程,但我执行了很多解决方案,但我仍然无法执行我的决策树:(

我不是程序员,我只是一个简单的经济学家,正在尝试学习机器学习模型,所以对我来说很难阅读其他线程中提供的许多解决方案。

我已经可以在我的 cmd 和 conda install -c anaconda pydot 中使用 conda install -c anaconda graphviz 并完成安装。 (我也从 GraphViz 页面下载了 rar 包)

然后我尝试导入graphviz,但python向我显示以下错误No module named 'graphviz'

然后我尝试使用以下 cd C:\Program Files (x86)\Graphviz2.38\bin 向我的环境添加一个新路径,但我仍然遇到同样的问题。

我正在尝试在我的 spyder 代码中运行以下脚本,但没有任何成功

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns

import pydot
from IPython.display import Image, display
# import graphviz as gv

from sklearn.model_selection import train_test_split, cross_val_score
from sklearn.externals.six import StringIO  
from sklearn.tree import DecisionTreeRegressor, DecisionTreeClassifier, 
export_graphviz
from sklearn.ensemble import BaggingClassifier, RandomForestClassifier, 
BaggingRegressor, RandomForestRegressor, GradientBoostingRegressor
from sklearn.metrics import mean_squared_error,confusion_matrix, 
classification_report

# This function creates images of tree models using pydot
def print_tree(estimator, features, class_names=None, filled=True):
   tree = estimator
   names = features
   color = filled
   classn = class_names

   dot_data = StringIO()
   export_graphviz(estimator, out_file=dot_data, feature_names=features, 
   class_names=classn, filled=filled)
   graph = pydot.graph_from_dot_data(dot_data.getvalue())
   return(graph)

hitter = 
pd.read_csv('C:\\Users\\ldresl\\Documents\\Chapter8\\Hitters.csv',sep=';')

hitter = hitter.dropna()

#Llamo una nueva matriz
X = hitter[['Years','Hits']].as_matrix()
y = np.log(hitter.Salary.as_matrix())

 #Se corre todo el codigo junto
fig, (ax1, ax2) = plt.subplots(1,2, figsize=(11,4))
ax1.hist(hitter.Salary.as_matrix())
ax1.set_xlabel('Salary')
ax2.hist(y)
ax2.set_xlabel('Log(Salary)');

# Corro la regresion de la decision tree (NOTAR QUE NO ES RANDOM FOREST!!!)
regr = DecisionTreeRegressor(max_leaf_nodes=3)
regr.fit(X, y)

graph, = print_tree(regr, features=['Years', 'Hits'])
Image(graph.create_png())

但每当我尝试运行最后两行时,都会抛出以下错误[WinError 2] "dot.exe" not found in path.。另外,如果我写import graphviz as gv 没有找到它。

对不起我的英语:(我正在学习:)。

【问题讨论】:

这意味着 graphviz 没有按预期安装。可能您在与 conda 安装 graphviz 的环境不同的环境中执行您的 python 脚本。 Anaconda 文档中有关于此主题的指南。 conda.io/docs/user-guide/… 【参考方案1】:

Anaconda.org 现在有一个 python-graphviz 包,其中包含用于 graphviz 工具的 Python 接口。只需安装它:

conda install python-graphviz

查看here 了解更多信息。

【讨论】:

【参考方案2】:

以下命令在 Windows 10,Anaconda 4.8.3 版中对我有用:

conda install -c anaconda python-graphviz

【讨论】:

【参考方案3】:

解决问题的最佳方法是:

源激活 anaconda 点安装 pydot 点安装 pydotplus 点安装 pydot-ng

然后根据你的操作系统类型下载并安装 Graphviz:

http://www.graphviz.org/download/

查看我之前的回答了解更多信息:Python RuntimeError: Failed to import pydot

【讨论】:

【参考方案4】:

conda install --channel https://conda.anaconda.org/garylschultzpygraphviz

【讨论】:

以上是关于安装graphviz,没有名为graphviz的模块的主要内容,如果未能解决你的问题,请参考以下文章

未找到 GraphViz 的可执行文件 - 为啥通过 pip 安装 graphViz 后没有安装可执行文件?

Mac 安装 graphviz

Anaconda安装Graphviz, mac下Graphviz安装, pcharm中调用pycharm, Graphviz典型例子

Python——graphviz及pydotplus安装步骤

Pygraphviz 安装失败,错误代码 1083 无法打开文件 graphviz/cgraph.h:没有这样的文件或目录

python graphviz的使用