Python 看不到 pygraphviz
Posted
技术标签:
【中文标题】Python 看不到 pygraphviz【英文标题】:Python does not see pygraphviz 【发布时间】:2013-03-17 16:24:26 【问题描述】:我已经使用 easy_install 安装了 pygraphviz 但是当我启动 python 时出现错误:
>>>import pygraphviz as pgv
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named pygraphviz
>>>
使用 Ubuntu 12.04 和 gnome-terminal。
【问题讨论】:
您是否使用过virtulenv,如果有,请确认您安装包的环境是否与您可能调用脚本或调用shell的环境相同? 不知道有没有用过virtulenv。如何检查我是否在同一环境中安装了pyhraphviz和python? 我刚刚输入了easy_install pyhraphviz Ok 在你的 gnoe 终端中执行以下操作 1.pip install virtualenv
2.virtualenv myenv
3.source myenv/bin/activate
4.pip install pygraphviz
然后运行 python 并尝试import pygraphviz
检查它是否有效.
好的,我想出了问题。您可能缺少 libgraphviz-dev。您可以使用sudo apt-get install libgraphviz-dev
安装它。您可以使用dpkg -l | grep 'graphviz'
检查是否安装了graphviz
【参考方案1】:
假设您使用的是 Ubuntu,请查看以下步骤
sudo apt-get install graphviz libgraphviz-dev pkg-config
如果需要,创建并激活virtualenv。命令看起来像sudo apt-get install python-pip python-virtualenv
运行pip install pygraphviz
运行终端并通过导入检查它是否有效
【讨论】:
是的,pkg-config
很重要,否则pip install pygraphviz
将无法编译,导致library_path
。
ImportError: undefined symbol: Agundirected
,如 here 所述。
确保您重新启动终端...这样您的更改才会受到影响【参考方案2】:
在 Ubuntu 14.04 上,自动检测 graphviz 库和包含文件存在问题。如果您按照以下步骤操作,您可能会很安全。
1) sudo apt-get install graphviz libgraphviz-dev pkg-config python-pip
2) pip install pygraphviz --install-option="--include-path=/usr/include/graphviz" --install-option="--library-path=/usr/lib/graphviz/"
【讨论】:
谢谢你,在 Ubuntu 16.04 LTS 上尝试通过 pip 安装 pygraphz 时也适用于我 这些安装选项也适用于我在 macOS 上遇到同样的错误(运行brew install graphviz
),除了路径是 /usr/local/include/graphviz
而库是 /usr/local/lib/graphviz
,所以完整的命令是:@ 987654325@.
在 Ubuntu 18.04 上,我可以使用 sudo apt-get install graphviz libgraphviz-dev graphviz-dev
后跟 pip install pygraphviz
来完成它
也适用于 ubuntu 20.04 LTS。我需要这个才能安装它..【参考方案3】:
快速简便的解决方案是:
sudo apt-get install -y python-pygraphviz
使用 pip 也可以,但请确保您已经安装了 graphviz、libgraphviz-dev 和 pkg-config。
sudo apt-get install -y graphviz libgraphviz-dev pkg-config python-pip
sudo pip install pygraphviz
【讨论】:
为什么需要这些?如果没有 libgraphviz-dev,安装(和使用)python-pygraphviz 对我来说似乎工作得很好。如果它不是显式依赖,那么为什么需要提前这样做?为什么还有其他依赖? 这已在大约 3 年前得到回答,可能他们现在已经改变了 pygraphviz 的打包方式,因此这并不是全部必要的。如果是这种情况,您应该在此处发布对此的答案。 谢谢!对我来说,只需安装python-pygraphviz
即可解决问题【参考方案4】:
在 Mac OSX 上,以下对我有用:
pip install graphviz
pip install cgraph
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
cd /usr/local/include/graphviz
sudo ln -s . graphviz
pip install pygraphviz
[按照建议,将之前 /urs/local/ 改成 /usr/local/ 的错字]
【讨论】:
结合 pydot2 安装 + 为我工作,但将上述说明中的 'urs' 替换为 'usr'【参考方案5】:在 Mac OSX El Capitan 上,Bart Theeten 的解决方案有效,但您需要注意两点。最初,请确保您在计算机上安装了 graphviz。您可以使用自制软件:
brew install graphviz
另一件事是确保将包的路径添加到 PYTHONPATH
export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7/site-packages/
【讨论】:
【参考方案6】:在 Ubuntu 15.10+(即 2015ish Debian)下,快速简单的解决方案是:
sudo apt-get install python-pygraphviz
任何依赖都被 apt 正确拉取。
【讨论】:
【参考方案7】:在 Colab 中,
!apt install libgraphviz - dev
!pip install pygraphviz
致谢:https://gist.github.com/korakot/a80c04a1945b06e2f4a053f92fecfbf9
【讨论】:
以上是关于Python 看不到 pygraphviz的主要内容,如果未能解决你的问题,请参考以下文章