From: Mark H. <ski...@gm...> - 2008-06-19 02:26:36
|
Hi all, For a project I'm working on, I think it makes sense to treat any "missing" modules as an error. The rationale behind this is that any as a project evolves and someone else tries to make a binary release, it isn't clear if the list of "missing modules" is correct or not. Maybe a recent change introduced a new dependency that isn't noticed, etc... The package maintainer would then be forced to list all such modules in "excludes", but that's a tradeoff that might be suitable in some cases. Looking at the sources, there would seem to be a couple of ways of attacking this: * Making it an option to py2exe, and have the run() method fail if the option is set and missing modules are detected. * Make the "module finder" an attribute of the py2exe instance, then after py2exe completed, our setup.py code could check if the module finder has outstanding modules and arrange for things to fail at that point. I'm wondering if anyone has thoughts on (a) is this a reasonable idea and (b) if so, what is the best way to approach it? Cheers, Mark |
From: Thomas H. <th...@ct...> - 2008-06-25 15:58:51
|
Mark Hammond schrieb: > Hi all, > For a project I'm working on, I think it makes sense to treat any > "missing" modules as an error. The rationale behind this is that any as a > project evolves and someone else tries to make a binary release, it isn't > clear if the list of "missing modules" is correct or not. Maybe a recent > change introduced a new dependency that isn't noticed, etc... The package > maintainer would then be forced to list all such modules in "excludes", but > that's a tradeoff that might be suitable in some cases. > > Looking at the sources, there would seem to be a couple of ways of attacking > this: > > * Making it an option to py2exe, and have the run() method fail if the > option is set and missing modules are detected. Sounds good imo, although I didn't have this use case currently. > * Make the "module finder" an attribute of the py2exe instance, then after > py2exe completed, our setup.py code could check if the module finder has > outstanding modules and arrange for things to fail at that point. It may be a good idea when someone wants more functionality and makes a subclass of the py2exe command object to have as much as possible info available. OTOH, I don't think the 'normal' setup.py code writer should be bothered to check for modulefinder results. -- Thanks, Thomas |