[Zope-dev] Namespace declaration using pkgutil vs pkg_resources

Baiju M mbaiju at zeomega.net
Thu Mar 12 00:40:01 EDT 2009


On Thu, Mar 12, 2009 at 12:52 AM, Shane Hathaway <shane at hathawaymix.org> wrote:
> Martijn Faassen wrote:
>>    Since ``setuptools`` is a dependency of our packages anyway, we
>>    can instead do the following::
>>
>>        __import__('pkg_resources').declare_namespace(__name__)
>>
>>    Feel free to use that and also feel free to simplify existing
>>    ``__init__.py`` modules. Just make sure ``setuptools`` is a declared
>>    dependency of the package.
>
> Nit: In this case, two lines are better than one.
>
>   import pkg_resources
>   pkg_resources.declare_namespace(__name__)
>
> There's no need to use the lesser known __import__ function when an
> ordinary import statement will do.

Actually three lines will be required to replace that single line:

    import pkg_resources
    pkg_resources.declare_namespace(__name__)
    del(pkg_resources)

BTW, I am +1 for single line __import__ approach.

Regards,
Baiju M


More information about the Zope-Dev mailing list