3

你好堆栈社区!

我不确定我的问题是与图形工具相关还是与 gtk 相关,但可能两者兼而有之。此外,很抱歉,如果我在尝试解决它时所做的事情是愚蠢的,我不是受过正规教育的程序员,所以我知道的和谷歌所能找到的和理解的一样多。

这是问题所在:在 I 之后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 (这个问题让我想到了这个想法)。我尝试重新安装 gtk、GObject 和所有依赖项。擦除所有与 brew 相关的和 brew 本身,然后重新安装所有内容(如此)。仍然出现同样的错误。我还尝试从 brew 中取消链接并再次链接它以确保,但这也不会改变任何东西。

我还检查了什么:

我正在运行 MAC OS X 版本 10.10.3,自制安装的 python 2.7.10(python --version返回Python 2.7.10是由 brew 安装的;which python指向/usr/local/bin/python)。brew info graph-tool表明它的所有要求都在那里(甚至是可选的)。已安装 GTK 2.24.28、GTK+3 3.16.4、PyGobject 2.28.6、GObject-introspection 2.28.6、Cairo 1.14.2、Py2Cairo 1.10.0、pango 1.36.8、XQuartz 2.7.7 等,它们的依赖项也很好。gi 1.2 已安装(通过 pip),gi.repository 确实不存在。我知道这个问题,但我安装了 PyGObjects。

我也阅读了这个问题和回复,但据我判断,这些都不能解决我的问题。

我花了两天时间寻找解决方案,因此感谢您的帮助。

4

2 回答 2

2

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

正如你在这里看到的,图形工具包需要很多依赖(numpy、gfortran、scipy、freetype、libpng、matplotlib、boost、cgal、graphviz、cairo、cairomm、py2cairo)

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

试试这些命令:

brew install cairo
brew install cairomm
brew install py2cairo

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

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

此致

于 2015-07-03T15:56:06.553 回答
1

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

>>> 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,但这就是它在这里工作的原因。

我按照安装说明进行操作

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

其中说 gtk+3 和 pygobject3 已经安装。然后我跑了:

brew reinstall gtk+3

brew upgrade pygobject3

这使导入工作。

于 2018-06-17T00:53:24.720 回答