[Python-Dev] distutils 'depends' management (original) (raw)

Matteo Bertini matteo at naufraghi.net
Wed Jan 25 10:41:20 CET 2012


Hello, I've noted that distutils manages depends in a way I cannot understand.

Suppose I have a minimal setup.py:

from distutils.core import setup, Extension setup( name='foo', version='1.0', ext_modules=[ Extension('foo', sources=['foo.c'], depends=['fop.conf'] # <---- note the typo foo->fop ), ] )

Now setup.py will rebuild all every time, this is because the policy of newer_group in build_extension is to consider 'newer' any missing file.

http://bit.ly/build_ext_471

def build_extension(self, ext): ... depends = sources + ext.depends if not (self.force or newer_group(depends, ext_path, 'newer')): logger.debug("skipping '%s' extension (up-to-date)", ext.name) return else: logger.info("building '%s' extension", ext.name) ...

Can someone suggest me the reason of this choice instead of missing='error' (at least for ext.depends)?

Cheers, Matteo



More information about the Python-Dev mailing list