[Zope-dev] Namespace declaration using pkgutil vs pkg_resources

Jim Fulton jim at zope.com
Wed Mar 11 09:28:37 EDT 2009


On Mar 11, 2009, at 8:24 AM, Baiju M wrote:

> Hi All,
>         Now we have 'setuptools' as a dependency for all packages.
> (I guess this is to make Buildout happy ?)

No, it is because setuptools is needed for namespace packages.

> So, it is certain that 'pkg_resources' module will be always
> available as it is bundled with 'setuptools'.  If that is the case,
> why do we need a fall-back import of 'pkgutil' to declare
> a namespace package?

We don't.

>
>
> So instead of:
>
>  try:
>      import pkg_resources
>      pkg_resources.declare_namespace(__name__)
>  except ImportError:
>      import pkgutil
>      __path__ = pkgutil.extend_path(__path__, __name__)
>
> Just this line would be enough to declare a namespace:
>
>  __import__('pkg_resources').declare_namespace(__name__)
>
> Am I missing something ?


Nope.

Jim

--
Jim Fulton
Zope Corporation




More information about the Zope-Dev mailing list