'使用graph_tool导入Gtk模块时出错:没有名为repository的模块'

时间:2015-06-24 08:52:23

标签: macos python-2.7 gtk graph-tool

Hello stack社区!

我不确定我的问题是与图表工具相关还是与gtk相关,但可能两者都有。此外,对不起,如果我在尝试解决它时所做的事情是愚蠢的,我不是正规教育的程序员,所以我知道我可以通过谷歌找到并理解。

问题在于: 在我brew install graph-tool之后,启动python并尝试import graph_tool.all我收到以下错误:

/usr/local/lib/python2.7/site-packages/graph_tool/draw/cairo_draw.py:1318: RuntimeWarning: Error importing Gtk module: No module named repository; GTK+ drawing will not work.

以前我确信如果import pygtk; pygtk.require('2.0'); import gtk有效,那就意味着错误是一个图形工具问题,但不一定是这种情况,因为图形工具可能会使用gtk(3 ??)和GObject(对吧?)和gtk2和pygtk(This question的上层检查让我想到了这个想法。 我尝试重新安装gtk,GObject和所有依赖项。擦拭所有与酿造有关的产品并自行酿造,然后重新安装所有产品(如here)。仍出现相同的错误。我还尝试取消brew中的所有内容并再次将其链接以确定,但这也不会改变任何内容。

我还检查了什么:

我正在运行MAC OS X版本10.10.3,自制安装的python 2.7.10(python --version返回Python 2.7.10,这是brew安装的; which python指向{ {1}})。 /usr/local/bin/python表明它的所有要求都在那里(甚至是可选的)。 GTK 28年2月24日,GTK + 3 3.16.4,PyGobject 2.28.6,GObject的内省2.28.6,开罗1.14.2,Py2Cairo 1.10.0,攀高1.36.8,XQuartz 2.7.7等安装,那些相关性很好。安装了gi 1.2(通过pip),gi.repository确实不存在。我知道this question,但我安装了PyGObjects。

我还阅读了this question和回复,但这并没有解决我的问题。

我花了两天时间寻找解决方案,所以感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

这似乎是一个开罗依赖问题。

正如您可能会看到here,图形工具包需要很多依赖项(numpy,gfortran,scipy,freetype,libpng,matplotlib,boost,cgal,graphviz,cairo,cairomm,py2cairo)

在您的情况下,您可能会通过干净地重新安装“cairo”来解决问题。

尝试以下命令:

brew install cairo
brew install cairomm
brew install py2cairo

如果“brew”要求您运行命令或安装其他软件包,请执行此操作!

(我们假设“brew”已正确安装)

祝你好运

答案 1 :(得分:0)

我遇到了同样的问题(行号略有不同):

>>> from graph_tool.all import *
/usr/local/lib/python2.7/site-packages/graph_tool/draw/cairo_draw.py:1499: RuntimeWarning: Error importing Gtk module: No module named gi; GTK+ drawing will not work.
  warnings.warn(msg, RuntimeWarning)

我知道这是一个相对古老的问题,但想分享我是如何做到的。你说你试过重新安装GObject,但这就是让它在这里工作的原因。

我关注installing instructions

brew install pygobject3 --with-python@2 gtk+3

表示已经安装了gtk + 3和pygobject3。然后我跑了:

brew reinstall gtk+3

brew upgrade pygobject3

使导入成功。