[Python-Dev] Draft PEP: "Simplified Package Layout and Partitioning"

Terry Reedy tjreedy at udel.edu
Wed Jul 20 21:51:39 CEST 2011


On 7/20/2011 1:04 PM, P.J. Eby wrote:
>> This part worries me slightly. Imagine a program as such:
>>>> datagen.py
>> json/foo.js
>> json/bar.js
>>>> datagen.py uses the files in json/ to generate sample data for a
>> database. In datagen.py is the following code:
>>>> try:
>> import json
>> except ImportError:
>> import simplejson as json

While reading the PEP, I worried about this standard usage too but 
missed the scenario you imagined. Good catch.
> A possible mitigation would be to require that get_subpath() only return
> a directory name if that directory in fact contains importable modules
> somewhere. This is actually discussed a bit later as an open issue under
> "Implementation Notes", indicating that iter_modules() has this issue as
> well.

If one actually wants to create a bare-as-possible empty module, one can 
do that now either with a directory containing an empty __init__.py or, 
even cleaner, imp.new_module. So there is no need for the new mechanism 
to ever duplicate either ;-). So +1 on improving back-compatibility.
-- 
Terry Jan Reedy


More information about the Python-Dev mailing list

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