找不到 Graphviz 的可执行文件 (Python 3.4)
Graphviz's executables are not found (Python 3.4)
我在 运行宁 Python3.4 Windows 7. 我正在尝试使用 graphviz 的 Python 界面。这是我打算 运行:
的脚本
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)
我在 运行 时收到以下错误:
RuntimeError: failed to execute ['dot', '-Tpdf', '-O', 'test-output/round-table.gv'], make sure the Graphviz executables are on your systems' path
现在我确定我已经正确安装了正确的依赖项。我首先尝试设置正确的环境变量。 graphviz 可执行文件位于 C:\Program Files (x86)\Graphviz2.37\bin 所以我去了环境变量部分。那里有两个部分:用户变量和系统变量。在系统变量下,我点击 Path 然后点击 Edit
并添加 ;C:\Program Files (x86)\Graphviz2.37\bin 到字符串的末尾并保存。这并没有清除错误。
然后,按照given here的回答,我把pydot卸载了(其实我这里用的是pydotplus),重新安装了一遍,还是没有成功。
我已经尝试了几个小时来解决这个问题,但整个 PATH 变量的事情只是令人困惑和沮丧。
据了解,Graphviz2.37 在 windows 上的 PATH 变量存在问题。我卸载了它,删除了与其关联的环境变量,而是下载并安装了较新的测试版 2.39,它现在运行得非常棒。
在 jupyter(ipython) notebook with anaconda in win10 我通过 pip install graphviz
安装 graphviz 后 conda install graphviz
解决了这个问题
我在 Ubuntu(14.04) 上遇到了与 Jupyter 相同的问题。
为了解决这个问题,我将点库添加到 python sys.path
首先:检查dot是否安装,
然后:
找到他的路径 whereis dot
-> /local/notebook/miniconda2/envs/ik2/bin/dot
最后在 python 脚本中:sys.path.append("/local/notebook/miniconda2/envs/ik2/bin/dot")
在我的情况下(Win10、Anaconda3、Jupyter notebook)在 "conda install graphviz"
之后我必须添加到 PATH:C:\Users\username\Anaconda3\Library\bin\graphviz
要修改 PATH goto Control Panel > System and Security > System > Advanced System Settings > Environment Variables > Path > Edit > New
我解决了它直接从 https://graphviz.gitlab.io/_pages/Download/Download_windows.html
安装并包含在 windows 路径中:
C:\Program Files (x86)\Graphviz2.38\bin
C:\Program Files (x86)\Graphviz2.38
重启后windows
当你添加 C:\Program Files (x86)\Graphviz2.38\bin 到 PATH,然后你必须关闭你的 IDE 环境,如 spyder 并重新启动,你将解决 "RuntimeError:make sure the Graphviz executables are on your systems' path"
为了解决这个问题,当你成功安装graphviz2.38后,然后将你的PATH变量添加到系统path.Under系统变量你可以点击路径然后点击编辑并添加;C:\Program Files( x86)\Graphviz2.38\bin 到字符串的末尾 saved.After 那,像 spyper 一样重新启动你的 pythonIDE,然后它运行良好。
不要忘记关闭 Spyder 然后重新启动。
我在 Ubuntu 16.04 也遇到了这个问题。
除了我已经执行的 pip 安装之外,运行 sudo apt-get install graphviz
已修复。
我和 Windows 10.
有同样的问题
首先,我用下面的命令安装了graphviz-2.38.0
没有任何问题...
install -c anaconda graphviz=2.38.0
其次,我用下面的命令安装了pydotplus
没有任何问题...
install -c conda-forge pydotplus
在那之后,当我开始可视化我的决策树时,{InvocationException: GraphViz's executables not found}
...
出现了以下问题
C:\Users\admin\Anaconda3\lib\site-packages\pydotplus\graphviz.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
在我的例子中,修复它所要做的就是将 graphviz
可执行文件的环境路径放入我的用户 PATH
环境变量中,这修复了它。只要确保它是 YOUR.exe
文件所在的路径 :)
C:\Users\admin\Anaconda3\pkgs\graphviz-2.38.0-4\Library\bin\graphviz
因为没有提到 Mac OS 我会补充说我在 OS X Yosemite 上遇到了同样的问题,我找到的解决方案是 brew install graphviz
这解决了问题,不确定我是否不应该只编辑此列表中的其他答案之一,因为它们似乎都是相同的答案,除了 Python图书馆。
只需安装
conda install graphviz
然后安装
conda install -c conda-forge pydotplus
对于 windows 8.1 和 python 2.7,我按照以下步骤解决了问题
1。下载并安装 graphviz-2.38.msi http://www.graphviz.org/pub/graphviz/stable/windows/graphviz-2.38.msi
2。设置路径变量
- 控制面板 > 系统和安全 > 系统 > 高级系统设置 > 环境变量 > 路径 > 编辑
- 添加'C:\Program Files (x86)\Graphviz2.38\bin'
我在 Anaconda 3 上使用 Windows 10、Python 3.6,遇到了同样的问题。
我已经通过按顺序执行以下操作让它工作了:
- 从 Anaconda 终端:pip install pydotplus
- 从 Anaconda 终端:conda 安装 pydotplus
- 从 Anaconda 终端:pip install graphviz
- 从 Anaconda 终端:conda install graphviz
- 转到Windows Environment Varialbes、PATH,并在Anaconda 的graphviz 目录下添加了我的dot.exe 文件的位置。
之后工作正常。
如果您使用的是 Win10,请安装 Graphviz (link),然后使用以下命令添加路径。
import os
os.environ["PATH"] += os.pathsep + 'C:\Program Files (x86)\Graphviz2.38/bin/'
请注意,我使用的是 windows10。以下某些内容可能适用于其他版本的 windows 或操作系统,也可能不适用:
** 注 2:**
"the Graphviz bin file address on your system" 可以是 C:\Program Files (x86)\Graphviz2.38\bin 或您在那里安装 Graphviz 的任何其他路径。
我们不仅在 Graphviz 上遇到问题,而且在我们想在 Jupyter 中使用的其他外部 EXE 文件上也遇到问题。
原因是当 jupyter 想要导入一个包时,它会在工作目录中查找它,当它找不到包时,它会出现 returns 这样的错误。
我们可以做的是解决这个问题如下:
1) 检查您的系统上是否安装了 Graphviz,如果没有,您可以从以下位置下载并安装它:
https://graphviz.gitlab.io/_pages/Download/Download_windows.html
然后安装。安装 Graphviz 时,请记住安装它的位置(在哪个文件夹中)。
如果您在使用
时看到上述错误
import graphviz
那么你有几个选择:
2) 可以通过
调用ipynb中的.exe文件
import os
os.environ["PATH"] += os.pathsep + r'the Graphviz bin file address on your system'
根据我的经验,它只适用于我正在使用的同一个 ipynb,每次我打开笔记本时,我都需要调用这行代码。
3) 如果你想让Jupyter在哪里找到exe文件,你需要设置环境路径。
在 windows 10 中,您可以这样做:
控制面板 > 系统和安全 > 系统 > 高级系统设置 > 环境变量 > 路径 > 编辑 > 新建
然后添加 "the Graphviz bin file address on your system"
在 windows 8 或更低版本中转到:
控制面板 > 系统和安全 > 系统 > 高级系统设置 > 环境变量
然后将 ;(分号)+ "the Graphviz bin file address on your system" 添加到路径字符串
的末尾
注意:记得重启你的机器。
4)即使这不起作用,定义一个变量去:
控制面板 > 系统和安全 > 系统 > 高级系统设置 > 环境变量然后:
然后定义一个变量如下:
记得将变量命名为 Graphviz。最后重启你的电脑,希望它能正常工作。
请使用pydotplus代替pydot
查找:C:\Users\zhangqianyuan\AppData\Local\Programs\Python\Python36\Lib\site-packages\pydotplus
打开graphviz.py
查找第1925行-第1972行,查找函数:
def create(self, prog=None, format='ps'):
在函数中找到:
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])
)
在两个块之间添加这个(你的 Graphviz 的可执行路径):
self.progs[prog] = "C:/Program Files (x86)/Graphviz2.38/bin/gvedit.exe"`
相加后结果为:
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])
)
保存修改后的文件就可以运行成功了。
最好保存成bmp文件,png文件不行。
尝试了很多方法,这才是真正解决问题的方法 - 它适用于 windows 8.1/10 和 python 3。
1。 pip 安装 graphviz
2。所需的关键操作是通过以下步骤设置路径变量:
一个。控制面板 > 系统和安全 > 系统 > 高级系统设置 > 环境变量 > 路径 > 编辑
b.添加 'C:\Program Files (x86)\Graphviz2.38\bin'
我不确定这是否是这个问题的答案,但这似乎也是 "how do I get graphviz to run on my setup?" 话题。我也没有看到任何地方提到 python-graphviz
。
因此:
Ubuntu 16.04,conda Python 3.7,使用 Jupyter 笔记本。
conda install -c anaconda graphviz
conda install -c conda-forge python-graphviz
仅尝试第一个命令后图像无法呈现;他们确实在 运行 第二个之后渲染。
我也安装了 pydot-plus
,但没有发现行为、性能或图像分辨率有任何变化。
我尝试设置环境变量。 work.I 我不在 Windows 环境中吗
结合以上方法对我有用:
已从 https://graphviz.gitlab.io/_pages/Download/Download_windows.html
下载 graphviz-2.38.zip
将解压后的文件夹复制到C:\Users\\AppData\Local\Continuum\anaconda3\pkgs\Graphviz2.38
我在我的代码中调用了 Graphviz 位置
构建分类器
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)
构建树
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())
树的外观如下:
我在尝试通过 pydotplus 和 graphviz 创建决策树时遇到了同样的问题。并使用路径变量的方法解决了这个问题。
以下是我使用的具体步骤:
虽然我已经通过 conda 安装命令安装了 graphviz,但我从以下路径重新下载了最新的软件包。
https://graphviz.gitlab.io/_pages/Download/Download_windows.html
下载:graphviz-2.38.zip(稳定版)
已将提取的文件夹复制到 C: 驱动器上的以下路径下。
C:\Program Files (x86)\
修改了系统路径变量并添加了以下路径。
路径变量:控制面板>系统和安全>系统>高级系统设置>环境变量>路径
C:\Program Files (x86)\graphviz-2.38\release\bin;
将以上路径添加到环境变量后,重启系统
它运行良好,我能够将决策树创建为 png。
enter image description here
我在Jupyter Notebook中遇到了同样的问题。
添加这个,你就可以开始了。
import os
os.environ['PATH'] = os.environ['PATH']+';'+os.environ['CONDA_PREFIX']+r"\Library\bin\graphviz"
我在这个问题上被困了很长时间,但过了一段时间我找到了解决方案:
- pip 安装 graphviz
- conda 安装 graphviz
- 现在再次从 => https://graphviz.org/_pages/Download/Download_windows.html(msi 文件)
安装 graphviz
- 设置完成后设置路径=> C:\Program Files (x86)\Graphviz2.38\bin;
对于所有在 windows 10 中遇到此问题的人,即使在尝试了上述步骤之后,这对我也有效 -
对于 Windows 10 个尝试调试相同错误的用户,以管理员身份启动 CMD(重要!)和 运行 dot -c
然后 运行 dot -v
这解决了我的问题
对于我(Windows 10,Jupyter Notebook)这个问题最简单的解决方案是执行以下操作:
- pip 安装 graphviz
- 重启 jupyter
- 将以下代码放入notebook并执行:
import sys
sys.path.append('C:/Users/usrname/AppData/Local/Continuum/anaconda3/Library/bin/graphviz/')
这是我用过的新鲜解决方案:)
我遇到了同样的问题,我正在使用 Anaconda 和 Jupyter Notebook。
我解决这个问题的方法不是从互联网上安装 Graphiz.zip!
我刚刚做了这些步骤:
- 使用>>
conda create -n [env_name]
创建新环境
- 在这个新环境中安装 graphviz 库:>>
conda install graphviz
- 我在笔记本单元格中写下了这些行 运行 它
import os os.environ['PATH'] = os.environ['PATH']+';'+os.environ['CONDA_PREFIX']+r"\Library\bin\graphviz"
终于,图片出现了,我为此做了一个小聚会,因为我花了3天:(
尝试
import os
os.environ['PATH']=os.environ['PATH']+';'+os.environ['CONDA_PREFIX']+r"\Library\bin\graphviz"
对我来说(Windows 10 + Pycharm2020)这有效:
- 已将
C:\Program Files\Graphviz\bin
添加到 PATH(Graphviz 二进制文件的路径)
- 重启 - 也许PyCharm重启就足够了
我刚遇到同样的问题。这是我的解决方案。
1.) 安装graphviz
确保您可以找到此文件夹 INSTALL_LOCATION\"Graphviz2.38\bin"
2.) 对于 Dot 对象,添加此代码
dot.set_graphviz_executables( {'dot': r'C:\Program Files\Graphviz\bin\dot.exe'})
在graphviz.py中确实提供了手动设置执行文件路径的功能。然后,您应该可以 运行 代码。
仅供参考:
这是来自 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.
为 Anaconda - Jupiternotebook 配置 Graphviz 的完整步骤:
从 https://graphviz.org/download/
下载并安装 'EXE installer for Windows 10'
环境变量: 添加C:\Program Files\Graphviz 2.44.1\bin到用户路径
环境变量: 添加C:\Program Files\Graphviz 2.44.1\bin\dot.exe到系统路径
安装 graphviz 后检查这些步骤:
- pip 安装 graphviz。
- pip 安装 pydotplus
- conda 安装 pydotplus
- 添加环境变量路径(C:\Users<用户名>\anaconda3\Library\bin\graphviz)
- 重新启动 anaconda jupiter notebook 内核(如果已经 运行)。
我通过首先卸载所有已安装的 pydot、pydotplus 和 graphvis 版本解决了这个问题
pip uninstall pydot
pip uninstall pydotplus
pip uninstall graphviz
然后我重新安装了它们:
conda install graphviz
conda install pydot
conda install pydotplus
在Windows
首先,我们需要使用 pip
:
安装库
pip install graphviz
然后,我们可以尝试运行执行以下命令(根据其他答案的建议):
conda install graphviz
然而,对我来说,这导致了 HTTP 错误
后参考official documentation, I ended up choosing the path of installing graphviz
via Chocolatey Package Manager.
在管理员模式下打开您的shell,然后运行执行以下命令:
choco install graphviz -y
重启内核,问题解决。
我在 运行宁 Python3.4 Windows 7. 我正在尝试使用 graphviz 的 Python 界面。这是我打算 运行:
的脚本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)
我在 运行 时收到以下错误:
RuntimeError: failed to execute ['dot', '-Tpdf', '-O', 'test-output/round-table.gv'], make sure the Graphviz executables are on your systems' path
现在我确定我已经正确安装了正确的依赖项。我首先尝试设置正确的环境变量。 graphviz 可执行文件位于 C:\Program Files (x86)\Graphviz2.37\bin 所以我去了环境变量部分。那里有两个部分:用户变量和系统变量。在系统变量下,我点击 Path 然后点击 Edit
并添加 ;C:\Program Files (x86)\Graphviz2.37\bin 到字符串的末尾并保存。这并没有清除错误。
然后,按照given here的回答,我把pydot卸载了(其实我这里用的是pydotplus),重新安装了一遍,还是没有成功。
我已经尝试了几个小时来解决这个问题,但整个 PATH 变量的事情只是令人困惑和沮丧。
据了解,Graphviz2.37 在 windows 上的 PATH 变量存在问题。我卸载了它,删除了与其关联的环境变量,而是下载并安装了较新的测试版 2.39,它现在运行得非常棒。
在 jupyter(ipython) notebook with anaconda in win10 我通过 pip install graphviz
conda install graphviz
解决了这个问题
我在 Ubuntu(14.04) 上遇到了与 Jupyter 相同的问题。
为了解决这个问题,我将点库添加到 python sys.path
首先:检查dot是否安装,
然后:
找到他的路径 whereis dot
-> /local/notebook/miniconda2/envs/ik2/bin/dot
最后在 python 脚本中:sys.path.append("/local/notebook/miniconda2/envs/ik2/bin/dot")
在我的情况下(Win10、Anaconda3、Jupyter notebook)在 "conda install graphviz"
之后我必须添加到 PATH:C:\Users\username\Anaconda3\Library\bin\graphviz
要修改 PATH goto Control Panel > System and Security > System > Advanced System Settings > Environment Variables > Path > Edit > New
我解决了它直接从 https://graphviz.gitlab.io/_pages/Download/Download_windows.html
安装并包含在 windows 路径中:
C:\Program Files (x86)\Graphviz2.38\bin
C:\Program Files (x86)\Graphviz2.38
重启后windows
当你添加 C:\Program Files (x86)\Graphviz2.38\bin 到 PATH,然后你必须关闭你的 IDE 环境,如 spyder 并重新启动,你将解决 "RuntimeError:make sure the Graphviz executables are on your systems' path"
为了解决这个问题,当你成功安装graphviz2.38后,然后将你的PATH变量添加到系统path.Under系统变量你可以点击路径然后点击编辑并添加;C:\Program Files( x86)\Graphviz2.38\bin 到字符串的末尾 saved.After 那,像 spyper 一样重新启动你的 pythonIDE,然后它运行良好。
不要忘记关闭 Spyder 然后重新启动。
我在 Ubuntu 16.04 也遇到了这个问题。
除了我已经执行的 pip 安装之外,运行 sudo apt-get install graphviz
已修复。
我和 Windows 10.
有同样的问题首先,我用下面的命令安装了graphviz-2.38.0
没有任何问题...
install -c anaconda graphviz=2.38.0
其次,我用下面的命令安装了pydotplus
没有任何问题...
install -c conda-forge pydotplus
在那之后,当我开始可视化我的决策树时,{InvocationException: GraphViz's executables not found}
...
C:\Users\admin\Anaconda3\lib\site-packages\pydotplus\graphviz.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
在我的例子中,修复它所要做的就是将 graphviz
可执行文件的环境路径放入我的用户 PATH
环境变量中,这修复了它。只要确保它是 YOUR.exe
文件所在的路径 :)
C:\Users\admin\Anaconda3\pkgs\graphviz-2.38.0-4\Library\bin\graphviz
因为没有提到 Mac OS 我会补充说我在 OS X Yosemite 上遇到了同样的问题,我找到的解决方案是 brew install graphviz
这解决了问题,不确定我是否不应该只编辑此列表中的其他答案之一,因为它们似乎都是相同的答案,除了 Python图书馆。
只需安装
conda install graphviz
然后安装
conda install -c conda-forge pydotplus
对于 windows 8.1 和 python 2.7,我按照以下步骤解决了问题
1。下载并安装 graphviz-2.38.msi http://www.graphviz.org/pub/graphviz/stable/windows/graphviz-2.38.msi
2。设置路径变量
- 控制面板 > 系统和安全 > 系统 > 高级系统设置 > 环境变量 > 路径 > 编辑
- 添加'C:\Program Files (x86)\Graphviz2.38\bin'
我在 Anaconda 3 上使用 Windows 10、Python 3.6,遇到了同样的问题。
我已经通过按顺序执行以下操作让它工作了:
- 从 Anaconda 终端:pip install pydotplus
- 从 Anaconda 终端:conda 安装 pydotplus
- 从 Anaconda 终端:pip install graphviz
- 从 Anaconda 终端:conda install graphviz
- 转到Windows Environment Varialbes、PATH,并在Anaconda 的graphviz 目录下添加了我的dot.exe 文件的位置。
之后工作正常。
如果您使用的是 Win10,请安装 Graphviz (link),然后使用以下命令添加路径。
import os
os.environ["PATH"] += os.pathsep + 'C:\Program Files (x86)\Graphviz2.38/bin/'
请注意,我使用的是 windows10。以下某些内容可能适用于其他版本的 windows 或操作系统,也可能不适用:
** 注 2:**
"the Graphviz bin file address on your system" 可以是 C:\Program Files (x86)\Graphviz2.38\bin 或您在那里安装 Graphviz 的任何其他路径。
我们不仅在 Graphviz 上遇到问题,而且在我们想在 Jupyter 中使用的其他外部 EXE 文件上也遇到问题。
原因是当 jupyter 想要导入一个包时,它会在工作目录中查找它,当它找不到包时,它会出现 returns 这样的错误。
我们可以做的是解决这个问题如下:
1) 检查您的系统上是否安装了 Graphviz,如果没有,您可以从以下位置下载并安装它:
https://graphviz.gitlab.io/_pages/Download/Download_windows.html
然后安装。安装 Graphviz 时,请记住安装它的位置(在哪个文件夹中)。
如果您在使用
import graphviz
那么你有几个选择:
2) 可以通过
调用ipynb中的.exe文件import os
os.environ["PATH"] += os.pathsep + r'the Graphviz bin file address on your system'
根据我的经验,它只适用于我正在使用的同一个 ipynb,每次我打开笔记本时,我都需要调用这行代码。
3) 如果你想让Jupyter在哪里找到exe文件,你需要设置环境路径。
在 windows 10 中,您可以这样做:
控制面板 > 系统和安全 > 系统 > 高级系统设置 > 环境变量 > 路径 > 编辑 > 新建
然后添加 "the Graphviz bin file address on your system"
在 windows 8 或更低版本中转到:
控制面板 > 系统和安全 > 系统 > 高级系统设置 > 环境变量
然后将 ;(分号)+ "the Graphviz bin file address on your system" 添加到路径字符串
的末尾
注意:记得重启你的机器。
4)即使这不起作用,定义一个变量去:
控制面板 > 系统和安全 > 系统 > 高级系统设置 > 环境变量然后:
然后定义一个变量如下:
记得将变量命名为 Graphviz。最后重启你的电脑,希望它能正常工作。
请使用pydotplus代替pydot
查找:
C:\Users\zhangqianyuan\AppData\Local\Programs\Python\Python36\Lib\site-packages\pydotplus
打开
graphviz.py
查找第1925行-第1972行,查找函数:
def create(self, prog=None, format='ps'):
在函数中找到:
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]) )
在两个块之间添加这个(你的 Graphviz 的可执行路径):
self.progs[prog] = "C:/Program Files (x86)/Graphviz2.38/bin/gvedit.exe"`
相加后结果为:
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]) )
保存修改后的文件就可以运行成功了。
最好保存成bmp文件,png文件不行。
尝试了很多方法,这才是真正解决问题的方法 - 它适用于 windows 8.1/10 和 python 3。
1。 pip 安装 graphviz
2。所需的关键操作是通过以下步骤设置路径变量:
一个。控制面板 > 系统和安全 > 系统 > 高级系统设置 > 环境变量 > 路径 > 编辑 b.添加 'C:\Program Files (x86)\Graphviz2.38\bin'
我不确定这是否是这个问题的答案,但这似乎也是 "how do I get graphviz to run on my setup?" 话题。我也没有看到任何地方提到 python-graphviz
。
因此: Ubuntu 16.04,conda Python 3.7,使用 Jupyter 笔记本。
conda install -c anaconda graphviz
conda install -c conda-forge python-graphviz
仅尝试第一个命令后图像无法呈现;他们确实在 运行 第二个之后渲染。
我也安装了 pydot-plus
,但没有发现行为、性能或图像分辨率有任何变化。
我尝试设置环境变量。 work.I 我不在 Windows 环境中吗 结合以上方法对我有用:
已从 https://graphviz.gitlab.io/_pages/Download/Download_windows.html
下载 graphviz-2.38.zip
将解压后的文件夹复制到C:\Users\\AppData\Local\Continuum\anaconda3\pkgs\Graphviz2.38
我在我的代码中调用了 Graphviz 位置
构建分类器
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)
构建树
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())
树的外观如下:
我在尝试通过 pydotplus 和 graphviz 创建决策树时遇到了同样的问题。并使用路径变量的方法解决了这个问题。
以下是我使用的具体步骤:
虽然我已经通过 conda 安装命令安装了 graphviz,但我从以下路径重新下载了最新的软件包。 https://graphviz.gitlab.io/_pages/Download/Download_windows.html 下载:graphviz-2.38.zip(稳定版)
已将提取的文件夹复制到 C: 驱动器上的以下路径下。 C:\Program Files (x86)\
修改了系统路径变量并添加了以下路径。 路径变量:控制面板>系统和安全>系统>高级系统设置>环境变量>路径 C:\Program Files (x86)\graphviz-2.38\release\bin;
将以上路径添加到环境变量后,重启系统
它运行良好,我能够将决策树创建为 png。
enter image description here
我在Jupyter Notebook中遇到了同样的问题。 添加这个,你就可以开始了。
import os
os.environ['PATH'] = os.environ['PATH']+';'+os.environ['CONDA_PREFIX']+r"\Library\bin\graphviz"
我在这个问题上被困了很长时间,但过了一段时间我找到了解决方案:
- pip 安装 graphviz
- conda 安装 graphviz
- 现在再次从 => https://graphviz.org/_pages/Download/Download_windows.html(msi 文件) 安装 graphviz
- 设置完成后设置路径=> C:\Program Files (x86)\Graphviz2.38\bin;
对于所有在 windows 10 中遇到此问题的人,即使在尝试了上述步骤之后,这对我也有效 -
对于 Windows 10 个尝试调试相同错误的用户,以管理员身份启动 CMD(重要!)和 运行 dot -c
然后 运行 dot -v
这解决了我的问题
对于我(Windows 10,Jupyter Notebook)这个问题最简单的解决方案是执行以下操作:
- pip 安装 graphviz
- 重启 jupyter
- 将以下代码放入notebook并执行:
import sys sys.path.append('C:/Users/usrname/AppData/Local/Continuum/anaconda3/Library/bin/graphviz/')
这是我用过的新鲜解决方案:)
我遇到了同样的问题,我正在使用 Anaconda 和 Jupyter Notebook。
我解决这个问题的方法不是从互联网上安装 Graphiz.zip!
我刚刚做了这些步骤:
- 使用>>
conda create -n [env_name]
创建新环境
- 在这个新环境中安装 graphviz 库:>>
conda install graphviz
- 我在笔记本单元格中写下了这些行 运行 它
import os os.environ['PATH'] = os.environ['PATH']+';'+os.environ['CONDA_PREFIX']+r"\Library\bin\graphviz"
终于,图片出现了,我为此做了一个小聚会,因为我花了3天:(
尝试
import os
os.environ['PATH']=os.environ['PATH']+';'+os.environ['CONDA_PREFIX']+r"\Library\bin\graphviz"
对我来说(Windows 10 + Pycharm2020)这有效:
- 已将
C:\Program Files\Graphviz\bin
添加到 PATH(Graphviz 二进制文件的路径) - 重启 - 也许PyCharm重启就足够了
我刚遇到同样的问题。这是我的解决方案。
1.) 安装graphviz
确保您可以找到此文件夹 INSTALL_LOCATION\"Graphviz2.38\bin"
2.) 对于 Dot 对象,添加此代码
dot.set_graphviz_executables( {'dot': r'C:\Program Files\Graphviz\bin\dot.exe'})
在graphviz.py中确实提供了手动设置执行文件路径的功能。然后,您应该可以 运行 代码。
仅供参考: 这是来自 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.
为 Anaconda - Jupiternotebook 配置 Graphviz 的完整步骤:
从 https://graphviz.org/download/
下载并安装 'EXE installer for Windows 10'环境变量: 添加C:\Program Files\Graphviz 2.44.1\bin到用户路径
环境变量: 添加C:\Program Files\Graphviz 2.44.1\bin\dot.exe到系统路径
安装 graphviz 后检查这些步骤:
- pip 安装 graphviz。
- pip 安装 pydotplus
- conda 安装 pydotplus
- 添加环境变量路径(C:\Users<用户名>\anaconda3\Library\bin\graphviz)
- 重新启动 anaconda jupiter notebook 内核(如果已经 运行)。
我通过首先卸载所有已安装的 pydot、pydotplus 和 graphvis 版本解决了这个问题
pip uninstall pydot
pip uninstall pydotplus
pip uninstall graphviz
然后我重新安装了它们:
conda install graphviz
conda install pydot
conda install pydotplus
在Windows
首先,我们需要使用 pip
:
pip install graphviz
然后,我们可以尝试运行执行以下命令(根据其他答案的建议):
conda install graphviz
然而,对我来说,这导致了 HTTP 错误
后参考official documentation, I ended up choosing the path of installing graphviz
via Chocolatey Package Manager.
在管理员模式下打开您的shell,然后运行执行以下命令:
choco install graphviz -y
重启内核,问题解决。