[Python-Dev] distutils 'depends' management

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

AltStyle によって変換されたページ (->オリジナル) /