我在Windows 7上运行Python3.4。我正在尝试使用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 ,所以我转到了Environment Variables部分。那里有两个部分:用户变量和系统变量。在系统变量下,我点击路径,然后点击Edit
并添加; C:\ Program Files(x86)\ Graphviz2.37 \ bin 到最后字符串并保存。这并不能解决错误。
然后,在答案given here之后我卸载了pydot(实际上我在这里使用pydotplus)并重新安装它,但仍然没有成功。
我一直在努力解决这个问题,整个PATH变量只是令人困惑和令人沮丧。
答案 0 :(得分:13)
在我的情况下(Win10,Anaconda3,Jupyter笔记本)"conda install graphviz"
之后我必须添加到PATH:C:\Users\username\Anaconda3\Library\bin\graphviz
修改PATH转到Control Panel > System and Security > System > Advanced System Settings > Environment Variables > Path > Edit > New
答案 1 :(得分:10)
我在Ubuntu 16.04上也遇到过这个问题。
通过运行sudo apt-get install graphviz
以及我已执行的pip安装来修复。
答案 2 :(得分:7)
在win10中使用anaconda的jupyter(ipython)笔记本我在conda install graphviz
pip install graphviz
解决了问题
答案 3 :(得分:5)
当你将C:\ Program Files(x86)\ Graphviz2.38 \ bin添加到PATH时,你必须关闭你的IDE环境,如spyder并重新启动,你将解决" RuntimeError:make确保您的系统上有Graphviz可执行文件。路径"
答案 4 :(得分:5)
由于未提及Mac OS,我将补充说我在OS X Yosemite上遇到了同样的问题,我找到的解决方案是brew install graphviz
这解决了这个问题,不确定我是否应该只编辑此列表中的其他答案之一,因为它们似乎都是相同的答案,只需安装除Python库之外的官方软件包。 / p>
答案 5 :(得分:4)
如图所示,已知Graphviz2.37在Windows上存在PATH变量问题。我卸载了它,删除了与之关联的环境变量,而是下载并安装了较新的beta版本2.39,它现在就像一个魅力。
答案 6 :(得分:4)
我解决了直接从https://graphviz.gitlab.io/_pages/Download/Download_windows.html
安装并包含在windows路径中的问题:
C:\Program Files (x86)\Graphviz2.38\bin
C:\Program Files (x86)\Graphviz2.38
重新启动Windows后
答案 7 :(得分:4)
要解决此问题,当您成功安装graphviz2.38时,请将您的PATH变量添加到系统路径。在系统变量下,您可以单击路径,然后单击编辑并添加; C:\ Program Files(x86)\ Graphviz2 .38 \ bin到字符串的末尾并保存。之后,像spyper一样重启你的pythonIDE,然后运行良好。
不要忘记关闭Spyder然后重启。
答案 8 :(得分:2)
对于Windows 8.1& python 2.7,我按照以下步骤解决了问题
1。下载并安装graphviz-2.38.msi http://www.graphviz.org/pub/graphviz/stable/windows/graphviz-2.38.msi
2。设置路径变量
答案 9 :(得分:2)
我在Jupyter Notebook中遇到了相同的问题。 添加它,您就可以开始了。
import os
os.environ['PATH'] = os.environ['PATH']+';'+os.environ['CONDA_PREFIX']+r"\Library\bin\graphviz"
答案 10 :(得分:2)
在尝试通过pydotplus和graphviz创建决策树时,我遇到了同样的问题。并使用路径变量方法来解决此问题。
以下是我使用的确切步骤:
尽管我已经通过conda install命令安装了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。
答案 11 :(得分:2)
我尝试设置环境变量。没用。我在Windows环境中 结合以上方法对我有用:
从https://graphviz.gitlab.io/_pages/Download/Download_windows.html
将提取的文件夹复制到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())
答案 12 :(得分:1)
如果您使用的是Win10,请安装Graphviz,然后使用以下命令添加路径。
import os
os.environ["PATH"] += os.pathsep + 'C:\Program Files (x86)\Graphviz2.38/bin/'
答案 13 :(得分:1)
请注意,我正在使用Windows10。以下某些内容可能适用于或可能不适用于其他版本的Windows或操作系统:
**注2:**
“系统上的Graphviz bin文件地址”可以是 C:\ Program Files(x86)\ Graphviz2.38 \ bin 或在其中安装Graphviz的任何其他路径。
我们不仅遇到了Graphviz的问题,而且还有我们要在Jupyter中使用的其他外部EXE文件的问题。
原因是当jupyter想要导入一个程序包时,它会在工作目录中查找该程序包,而当它找不到该程序包时,它会返回此类错误。
我们能做的就是解决这个问题,如下所示:
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中,您可以执行以下操作:
控制面板>系统和安全性>系统>高级系统设置>环境变量>路径>编辑>新建
然后添加“您系统上的Graphviz bin文件地址”
在Windows 8或更低版本中,转到:
控制面板>系统和安全性>系统>高级系统设置>环境变量
然后将;(分号)+“系统上的Graphviz bin文件地址”添加到路径字符串的末尾
注意:切记重新启动计算机。
4)甚至无法正常工作,请定义一个变量,用于:
控制面板>系统和安全>系统>高级系统设置>环境变量,然后:
记住要命名变量Graphviz。最后,重新启动您的PC,并希望它能正常工作。
答案 14 :(得分:1)
尝试了很多方法,这才是真正解决问题的方法-它适用于Windows 8.1 / 10和python 3。
1。 pip安装graphviz
2。所需的关键操作是按照以下步骤设置路径变量:
a。控制面板>系统和安全性>系统>高级系统设置>环境变量>路径>编辑 b。添加'C:\ Program Files(x86)\ Graphviz2.38 \ bin'
答案 15 :(得分:1)
只需安装
conda install graphviz
然后安装
conda install -c conda-forge pydotplus
答案 16 :(得分:1)
我在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
答案 17 :(得分:0)
为 Anaconda 配置 Graphviz 的完整步骤 - Jupiternotebook:
从以下位置下载并安装“适用于 Windows 10 的 EXE 安装程序”:https://graphviz.org/download/
环境变量:将 C:\Program Files\Graphviz 2.44.1\bin 添加到用户路径
环境变量:将 C:\Program Files\Graphviz 2.44.1\bin\dot.exe 添加到系统路径
安装graphviz后检查这些步骤:
答案 18 :(得分:0)
我刚刚遇到了同样的问题。这是我的解决方案。
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.
答案 19 :(得分:0)
对我来说(Windows 10 + Pycharm2020)这是有效的:
C:\Program Files\Graphviz\bin
添加到 PATH(Graphviz 二进制文件的路径)答案 20 :(得分:0)
我通过首先卸载所有已安装的 pydot、pydotplus 和 graphvis 版本来解决这个问题
pip uninstall pydot
pip uninstall pydotplus
pip uninstall graphviz
然后我重新安装它们:
conda install graphviz
conda install pydot
conda install pydotplus
答案 21 :(得分:0)
尝试
import os
os.environ['PATH']=os.environ['PATH']+';'+os.environ['CONDA_PREFIX']+r"\Library\bin\graphviz"
答案 22 :(得分:0)
这是我使用过的全新解决方案:)
我遇到了同样的问题,我正在使用Anaconda和Jupyter Notebook。
我解决该问题的方法不是从互联网安装Graphiz.zip!
我刚刚执行了以下步骤:
conda create -n [env_name]
conda install graphviz
import os os.environ['PATH'] = os.environ['PATH']+';'+os.environ['CONDA_PREFIX']+r"\Library\bin\graphviz"
最后,图像出现了,我为此举办了一个小型派对,因为距离我花了3天时间:(
答案 23 :(得分:0)
对此问题最有效的解决方案(Windows 10,Jupyter Notebook)是执行以下操作:
BigInteger y = g.modPow(x, p);
答案 24 :(得分:0)
对于所有即使在尝试了上述步骤后仍在Windows 10中面临此问题的人,这对我来说都是有效的-
对于尝试调试此错误的Windows 10用户,以管理员身份(重要!)启动CMD并运行dot -c
,然后运行dot -v
这为我解决了这个问题
答案 25 :(得分:0)
我在这个问题上停留了很长时间,但一段时间后我找到了解决方案:
答案 26 :(得分:0)
我不确定这是否是此问题的答案,但这似乎也是“如何使graphviz在我的设置上运行?”线。我也没有看到function parseItemByYear(item){
// replace all | with ,
var modifiedObj = item.replace(/\|/g, ',');
// split into array
var newArr = modifiedObj.split('}');
// remove all
var newestArr = newArr.map(function(item){item.replace(/^\{/g,'')});
// JSON.parse the object
// var lovObj = JSON.parse(modifiedFilingStatusObj);
// capture the current tax year
// replace , with |
// rebuild the object
// return the filtered object
return newestArr;
}
被提及。
因此: 使用Jupyter笔记本的Ubuntu 16.04,conda Python 3.7。
python-graphviz
仅尝试第一个命令后,图像将无法渲染;他们在运行第二个之后确实进行了渲染。
我还安装了conda install -c anaconda graphviz
conda install -c conda-forge python-graphviz
,但是在行为,性能或图像分辨率上没有看到任何变化。
答案 27 :(得分:0)
请使用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文件将无法工作。
答案 28 :(得分:0)
我在Anaconda 3上使用Windows 10,Python 3.6并且遇到了同样的问题。
我按顺序执行以下操作:
之后工作正常。
答案 29 :(得分:0)
我在Jupyter的Ubuntu(14.04)上遇到了同样的问题。
为了解决这个问题,我已经将点库添加到python sys.path
首先:检查点是否已安装,
然后:
找到他的路径whereis dot
- > /本地/笔记本/ miniconda2 / ENVS / IK2 / bin中/点
最后在python脚本中:sys.path.append(“/ local / notebook / miniconda2 / envs / ik2 / bin / dot”)