python.pxi:165:8 'PyFrameObject' is not declared python.pxi:165:8 'PyFrameObject' is not a type identifier
17 cdef extern from "Python.h": ... 164 ctypedef struct PyFrameObject: 165 PyFrameObject *f_back 166 PyCodeObject *f_code 167 PyObject *f_builtins 168 PyObject *f_globals 169 PyObject *f_locals 170 PyObject *f_trace 171 PyObject *f_exc_type 172 PyObject *f_exc_value 173 PyObject *f_exc_traceback 174 int f_lasti 175 int f_lineno 176 int f_restricted 177 int f_iblock 178 int f_nlocals 179 int f_ncells 180 int f_nfreevars 181 int f_stacksize
С одной стороны PyFrameObject декларируется в ctypedef struct, и в строке 165 идет его же использование, должно быть как указатель на самого себя, что-то вроде односвязного списка (или Я всё забыл и вообще непонимаю что происходит). С другой стороны это может быть переоглашение существующей структуры (не уверен как это работает), то есть PyFrameObject всё же должен быть оглашен ранее.
Думал в 17-ой строке подставить “frameobject.h” или даже cdef extern from *:, но это не помогает, всё та же ошибка.
Сам файл “/usr/include/python2.7/frameobject.h” существует и внутри есть этот PyFrameObject. Что же здесь не так, как это исправить? ОС - CentOS 7.4