By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
443,994 Members | 1,166 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 443,994 IT Pros & Developers. It's quick & easy.

Pyrex-0.9.3: definition mismatch with distutils of Python24

P: n/a
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.p y", 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


Jul 18 '05 #1
Share this Question
Share on Google+
1 Reply


P: n/a
mb@muenster.de (Martin Bless) writes:
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.p y", 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.

--
|>|\/|<
/--------------------------------------------------------------------------\
|David M. Cooke
|cookedm(at)physics(dot)mcmaster(dot)ca
Jul 18 '05 #2

This discussion thread is closed

Replies have been disabled for this discussion.