安装完Anaconda和Graphviz后,无法导入该模块的解决方法。

128

刚刚通过anaconda安装了一个包 (conda install graphviz), 但是ipython无法找到它。

我可以在 C:\Users\username\Anaconda\pkgs 中看到graphviz文件夹。

但是在 C:\Users\username\Anaconda\Lib\site-packages 中却什么都没有。

还是不行


29
理解的关键在于 conda install graphvizpip install graphviz 并不是同一件事情。conda install python-graphviz 才是相同的操作。conda install graphviz 安装的是二进制文件,这等同于从 GraphViz 官网下载并安装 GraphViz 软件。 - endolith
2
@endolith 谢谢你,谢谢你,谢谢你。 - AturSams
15个回答

193
graphviz conda包不是Python包。它只是将graphviz文件放入您的虚拟环境的Library/目录中。例如,在Library/bin/目录中查找dot.exe

要安装graphviz Python包,可以使用pipconda install pippip install graphviz

如果可用,始终优先选择conda包而不是pip包。搜索所需的包(conda search pkgxy),然后安装它(conda install pkgxy)。如果不可用,您始终可以构建自己的conda包,或者尝试anaconda.org上的用户构建的包。

更新于2018年11月25日:现在存在一个python-graphviz,其中包含graphviz工具的Python接口。只需使用conda install python-graphviz即可安装。
(感谢wedrang-kaklam发布此解决方案,并感谢endolith通知我。)

更新于2022年5月26日:根据pygraphviz网站,应使用conda-forge频道:conda install -c conda-forge pygraphviz(感谢ian-thompson


1
我该如何安装graphviz python包呢?(链接:https://pypi.python.org/pypi/graphviz)我以为“conda install”和“pip install”是等价的,但我对anaconda还很陌生。 - nivniv
3
你可以尝试使用conda install pippip install graphviz来安装graphviz。 - Wolfgang Ulmer
7
使用Anaconda安装Python包是不是违背了其本意?或者说安装Python包并非Anaconda的首要目的? - nivniv
2
如果conda包可用,始终优先选择conda包而不是pip包。您可以始终构建自己的conda包,或者尝试http://anaconda.org/获取用户构建的包。 - Wolfgang Ulmer
5
如果conda包可用,始终优先选择它们而不是pip包。是的,所以不要按照这个答案进行操作。请按照wedran的回答使用conda install python-graphviz - endolith
显示剩余5条评论

129

在conda上:

首先安装

conda install graphviz

然后使用Python的图形库python-graphviz

gv_python是Python的一个动态加载扩展,提供了对graphviz的图形功能的访问。

conda install python-graphviz

还有 pydot 包,它可以解析并转储成 GraphViz 使用的 DOT 语言。

conda install pydot

5
这是仅适用于Conda的解决方案,不需要使用Pip。我喜欢这个。 - Goosebumps
3
你是怎么知道这个额外的要求——'python-graphviz'包的,为什么Anaconda一开始没有将其标记为依赖项? - Thirsty_Crow
1
我仍然收到OSError: `pydot`无法调用GraphViz。请安装GraphViz(https://www.graphviz.org/)并确保其可执行文件在$PATH中。 - endolith
1
啊哈!conda install python-graphvizpip install graphviz的作用是相同的。而conda install graphviz和从GraphViz网站下载二进制文件的作用相同。 - endolith

18

我的问题是通过安装另一个支持包解决了。

因此我通过anaconda安装了graphviz包,但导入失败了。

之后我又通过anaconda安装了第二个名为python-graphviz的包。

然后我成功地将graphviz模块导入到我的代码中。

希望这能帮助到某些人 :)


12

你实际上可以同时安装这两个软件包。对我来说:

conda install -c anaconda graphviz python-graphviz

事情就这样搞定了。


8
安装Graphviz,
conda install -c anaconda graphviz
pip install graphviz

如果找不到conda命令,请按照以下步骤进行:
export PATH=~/anaconda/bin:$PATH
conda --version # to check your conda version

Conda和pip安装的区别,请参考stackoverflow答案


3
我按照以下步骤进行操作,对于我来说这是有效的。
1. 从https://graphviz.gitlab.io/_pages/Download/Download_windows.html下载并安装graphviz-2.38.msi。
2. 设置路径变量。
(a) Control Panel > System and Security > System > Advanced System Settings >  Environment Variables > Path > Edit

(b) add 'C:\Program Files (x86)\Graphviz2.38\bin'

这个解决方案对我很有效,因为只有在Windows的Program FilesProgram Files (x86)中搜索已安装的graphviz/dot.exe才能找到它,否则就会失败。 - vab

2

请检查您的终端中是否已激活TensorFlow。

如果已激活,请使用以下命令取消激活:

conda deactivate

然后使用命令:
conda install python-graphviz

然后安装

conda install graphviz

这是针对Ubuntu用户的解决方案 :) 干杯 :)


2

对于Ubuntu用户,我建议使用以下方法:

sudo apt-get install -y graphviz libgraphviz-dev

很不幸,它报告说graphviz已经安装了... - KansaiRobot

2
记住!如果您在使用Jupyter Notebook,请在安装完成后重新启动它。这对我有用。
因为之前的条件是一个静态变量,如下所示:

enter image description here

enter image description here

enter image description here


2

显然,Anaconda中包含Graphviz,可用于与pydot或pydot-ng(两者均包含在Anaconda中)一起使用。您可以考虑使用其中之一,而不是使用'graphviz' Python模块。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接