我正在运行 OSX Lion 并尝试使用 python2.7为goocanvas导入 python 模块。
我设法成功编译了 pygoocanvas-0.14.1,但是当我尝试import goocanvas
通过 python2.7 控制台时,我得到了一个段错误。经过一些调试,我被引导到这段代码:
DL_EXPORT (void)
initgoocanvas (void)
{
PyObject *m, *d;
fprintf(stderr,"init<< \n");
// Pycairo_IMPORT; // XXX removed, it expands to the line below, anyways
Pycairo_CAPI = (Pycairo_CAPI_t*) PyCObject_Import("cairo", "CAPI"); // ADDED XXX
fprintf(stderr,"after import<< \n");
if (Pycairo_CAPI == NULL) {
return;
}
我发现当 goocanvas python 模块的 C++ 代码尝试通过PyCObject_Import("cairo", "CAPI")
. 但是,如果我尝试通过 python2.7 控制台直接导入 cairo 模块import cairo
,它可以工作。
我应该如何进行?我有一个盲目的段错误,不知道为什么会发生。记住我设法编译了 python goocanvas 模块,但是在尝试将它导入 python 时它会出现段错误。