Phillip J. Eby wrote:
At 06:21 PM 9/3/2007 +0200, Stefan Behnel wrote:
The point is that current setuptools break developer builds. You can't change the sources without having (a fake) Pyrex installed, because setuptools will not let you run Cython.
If you want to use the native Extension type, do this:
from distutils.core import Extension from setuptools import setup
Have you tested this lately? I mean, with Python 2.5 distutils? What I get is Traceback (most recent call last): File "setup.py", line 89, in <module> **extra_options File "distutils/core.py", line 151, in setup File "distutils/dist.py", line 974, in run_commands File "distutils/dist.py", line 994, in run_command File "distutils/command/build_ext.py", line 290, in run File "distutils/command/build_ext.py", line 413, in build_extensions File "distutils/command/build_ext.py", line 315, in check_extensions_list TypeError: iteration over non-sequence this is the failing code: if isinstance(ext, Extension): continue # OK! (assume type-checking done # by Extension constructor) ==> (ext_name, build_info) = ext
Alternately, you can use:
from setuptools.extension _import Extension as Extension
I assume you meant from setuptools.extension import _Extension as Extension That's definitely a hack, but it yields the same error as above.
I will add this information to the existing setuptools documentation regarding Pyrex detection.
Meanwhile, if you'd like to suggest a way of detecting Cython's presence, I can probably add that to the setuptools.extension module.
import Cython should do the trick. I still prefer the "only fiddle with extensions if build_ext wasn't replaced" way, though. Stefan