Pyrex-0.9.3: definition mismatch with distutils of Python24

M

Martin Bless

Now that I've got my extension building machine using the VC++ Toolkit
2003 up and running I'm keen on using Pyrex (Pyrex-0.9.3,
Python-2.4.0).

But the definition of the swig_sources() method seems to have changed.

When I try to build the examples from Pyrex I get a TypeError:


c:\Pyrex-0.9.3\Demos> python Setup.py build_ext --inplace
running build_ext
building 'primes' extension
[...]
File "C:\Python24\lib\distutils\command\build_ext.py", line 442, in
build_extension
sources = self.swig_sources(sources, ext)
TypeError: swig_sources() takes exactly 2 arguments (3 given)


I can see that Pyrex.Distutils.build_ext.py subclasses
distutils.command.build_ext.build_ext, and the number of arguments of
the swig_sources method seems to have changed.

Pyrex uses:

def swig_sources (self, sources):

whereas the distutils use:

def swig_sources (self, sources, extension):

If I just add the "extension" arg to the Pyrex definitions everything
seems to work. But I have to admit that I don't really know what I'm
doing here and I feel sorry I can't contribute more than just
reporting the error.

mb - Martin Bless
 
D

David M. Cooke

Now that I've got my extension building machine using the VC++ Toolkit
2003 up and running I'm keen on using Pyrex (Pyrex-0.9.3,
Python-2.4.0).

But the definition of the swig_sources() method seems to have changed.

When I try to build the examples from Pyrex I get a TypeError:


c:\Pyrex-0.9.3\Demos> python Setup.py build_ext --inplace
running build_ext
building 'primes' extension
[...]
File "C:\Python24\lib\distutils\command\build_ext.py", line 442, in
build_extension
sources = self.swig_sources(sources, ext)
TypeError: swig_sources() takes exactly 2 arguments (3 given)


I can see that Pyrex.Distutils.build_ext.py subclasses
distutils.command.build_ext.build_ext, and the number of arguments of
the swig_sources method seems to have changed.

Pyrex uses:

def swig_sources (self, sources):

whereas the distutils use:

def swig_sources (self, sources, extension):

If I just add the "extension" arg to the Pyrex definitions everything
seems to work. But I have to admit that I don't really know what I'm
doing here and I feel sorry I can't contribute more than just
reporting the error.

Yep, that's it. Greg must know now, it's been reported a few times.
You'll want to change it to

def swig_sources(self, sources, extension=None):

so that if you use an older python it won't complain about missing
arguments.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,483
Members
44,902
Latest member
Elena68X5

Latest Threads

Top