On 01/04/2020 18:24, Musbur wrote:
Am 01.04.2020 15:01 schrieb Rhodri James:

I believe you do it in C as you would in Python: you call the Series class!

pyseries = PyObject_CallObject((PyObject *)&series_type, NULL);

Well, that dumps core just as everything else I tried.

What does work, however, is calling PyType_Ready first:

     PyType_Ready(&series_type);
     pyseries = PyObject_New(Series, &series_type);
     PyObject_Init((PyObject *)pyseries, &series_type);o

I don't understand, though, why I have to do that and when. Didn't that already happen when the module was imported? Do I need to do it whenever I create a new instance in C?

It should have happened on your module being imported, the line was there in your code. Stick a breakpoint on your module init function and see if it is being called.

(The "from thingy import *" always makes me nervous, but it shouldn't be responsible for this.)

--
Rhodri James *-* Kynesim Ltd
--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to