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和回复,但这并没有解决我的问题。
我花了两天时间寻找解决方案,所以感谢任何帮助。
答案 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,但这就是让它在这里工作的原因。
brew install pygobject3 --with-python@2 gtk+3
表示已经安装了gtk + 3和pygobject3。然后我跑了:
brew reinstall gtk+3
和
brew upgrade pygobject3
使导入成功。