[Pyrex] difficulty while importing extension class
Sat Tara Singh
smonkey at entropia.com.mx
Mon Nov 19 01:27:26 CET 2007
Thanks. This Windog user stands corrected - all I had to do was update Pyrex.
Sat Tara Singh wrote:
> > Greetings,
> >
> > I've been working on a Python project with a cellular automaton engine
> > at its core, and have been busy developing this engine in Pyrex. I ran
> > into an unexpected situation yesterday.
> >
> > I have compiled a .pyd file name "topology" with an extension class
> > called Topology.
> >
> > I then tried to use this extension class in a different Pyrex module
> > named "neighborhood".
> >
> > Here's the code:
> >
> > ############################
> >
> > cimport topology as T
> >
> > cdef class Thing:
> > cdef T.Topology topo
> >
> > def __init__(self):
> > self.topo = T.Topology((100,100),2)
> >
> > ############################
> >
> > When I tried to compile this I got the following error message:
> >
> > error: lvalue required as left operand of assignment
> >
> > So, I looked at the line in the .c file which had raised this error and
> > it read as follows:
> >
> > ((PyObject *)((struct __pyx_obj_12neighborhood_Thing
> > *)__pyx_v_self)->topo) = __pyx_3;
> >
> > Having no idea what this means, I did a Google search, read a bug report
> > by Dmitry Marakasov, and changed the code to this:
> >
> > __pyx_v_self = (struct __pyx_obj_12neighborhood_Thing *)__pyx_3;
> >
> > This compiled successfully and ran without problems.
> >
> > Happy as I was to see it work, I'm totally befuddled as to what I did,
> > and decidedly unwilling to dive into C code I'm too dumb to understand
> > every time I want to use an extension class in my project. I wonder if
> > anybody has any feedback on this.
> >
> > I'm running Pyrex 0.9.3.1 for Windows on a WindowsXP box, under Python
> > 2.5, and using MinGW's gcc as a compiler.
> >
> >
>
This is an older version of Pyrex. It has known issues with newer C
compilers. Upgrade to the latest Pyrex version.
-- Lenard Lindstrom <len-l at telus.net>
_______________________________________________ Pyrex mailing list
Pyrex at lists.copyleft.no http://lists.copyleft.no/mailman/listinfo/pyrex
More information about the Pyrex
mailing list