没有名为 _graphviz 的模块

Posted

技术标签:

【中文标题】没有名为 _graphviz 的模块【英文标题】:No module named _graphviz 【发布时间】:2014-02-17 01:49:45 【问题描述】:

我安装了graphviz和pygraphviz,当我打开一个cmd并输入

python
import _graphviz

_graphviz 可以导入,但是当我运行一个将调用 .py 文件的 C++ 程序时,这个 .py 文件中有一行是

import pygraphviz as pgv

然后就无法导入_graphviz,显示如下信息:

Traceback (most recent call last):
  File "E:\project\graph\analysis\x64\Debug\gengraph.py", line 1, in <module>
    import pygraphviz as pgv
  File "C:\Program Files\Python27\lib\site-packages\pygraphviz\__init__.py", lin
e 54, in <module>
    from agraph import AGraph, Node, Edge, Attribute, ItemAttribute
  File "C:\Program Files\Python27\lib\site-packages\pygraphviz\agraph.py", line
20, in <module>
    import graphviz as gv
  File "C:\Program Files\Python27\lib\site-packages\pygraphviz\graphviz.py", lin
e 7, in <module>
    import _graphviz
ImportError: No module named _graphviz

您能帮帮我吗,欢迎任何建议,谢谢!

【问题讨论】:

我通过安装python-pygraphviz修复了这个问题 【参考方案1】:

你用的是什么系统?我花了 4 个小时试图在 Windows 上解决这个问题,但最终将我的项目迁移到了 Ubuntu。 据我所知,这是由程序找不到 pygraphviz 文件引起的。它在 Windows 上按以下顺序搜索: 1,注册; 2、路径; 3、文件夹。一些可用的方法:

在 setup.py 中找到要注册的块并跳过它。

重命名pygraphviz安装文件夹(去掉空格)并移动到没有空格的路径

在 Ubuntu 中,您可以简单地使用对我有用的“sudo easy-install pygraphviz”。

【讨论】:

语法是sudo easy_install pygraphviz,但是是的,这也对我有用。实际上我正要放弃,因为 pip 和 git 安装一直失败。【参考方案2】:

我是这样用 AMD64 实现的:

Win 7 AMD64

安装MSFT C++ compiler。 安装Anaconda for Win AMD64, Python3。 安装graphviz for Win。 将 C:\Program Files (x86)\Graphviz2.38\bin 添加到您的 PATH 环境变量中。 下载pygraphviz-1.3.1-cp34-none-win_amd64.whl。 使用 Python 3.4 版创建 Conda 环境:conda create --name digraphs python=3.4 anaconda。 进入环境:activate digraphs。 使用 pip3 安装 pygraphviz:pip install pygraphviz-1.3.1-cp34-none-win_amd64.whl。 运行示例:python3 ./gviz_simple.py。 退出环境:deactivate

https://***.com/a/45362845/714413

【讨论】:

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

ImportError:没有名为包的模块

ImportError:没有名为[重复]的模块

没有名为 pipreqs.__main__ 的模块; 'pipreqs' 是一个包,不能直接执行

没有名为 streamlit.__main__ 的模块; ‘streamlit’是一个包,不能直接执行

VSCode python调试:使用模块属性时“没有名为xx的模块”

ImportError:没有名为 _mysql 的模块