[Distutils] setuptools special case Pyrex and break Cython

Phillip J. Eby pje at telecommunity.com
Wed Sep 5 22:10:12 CEST 2007

At 09:49 PM 9/5/2007 +0200, Stefan Behnel wrote:
>get a build_ext replacement, which is
>required by both Pyrex and Cython.

No, it isn't.  A setuptools-based project does not need to import 
*anything* from Pyrex; it just declares a setuptools Extension() with 
.pyx sources.

Further, if Cython includes a Pyrex-replacing build_ext in the same 
module location, it's not necessary for Cython either; setuptools 
will simply call the Cython one.

That's why I'm saying that if Cython is actually a Pyrex 
*replacement*, it should work just fine, with no need for anybody to 
change anything.

Conversely, if Cython is *not* a replacement for Pyrex, then it 
should use some other file extension and thus make the choice of tool explicit.

My initial understanding was that Cython was a Pyrex 
replacement...  which led me to wonder what all the fuss was 
about.  But this assumption about replacing build_ext being necessary 
is clearly a big part of what's leading us to different conclusions.

More information about the Distutils-SIG mailing list