[Python-3000] Should package __init__ files include pkgutil.extend_path?
Brett Cannon
brett at python.org
Sun Sep 7 00:28:18 CEST 2008
On Sat, Sep 6, 2008 at 2:06 PM, <skip at pobox.com> wrote:
> I'm trying to figure out how to install this dbm.sqlite module I have
> without overwriting the basic install. My thought was to create a dbm
> package in site-packages then copy sqlite.py there. That doesn't work
> though. Modifying dbm.__init__.py to include this does:
>
> import pkgutil
> __path__ = pkgutil.extend_path(__path__, __name__)
>
> I'm wondering if all the core packages in 3.x should include the above in
> their __init__.py files.
>
Well, a side-effect of this is that all package imports will suddenly
spike the number of stat calls linearly to the number of entries on
sys.path.
Another option is to use a pth file that imports your module (as like
_dbm_sqlite.py or something) and have it, as a side-effect of
importing, set itself on dbm.
-Brett
More information about the Python-3000
mailing list