[Python-de] Namespace packages: pkg_resources vs. pkgutil

Diez B. Roggisch deets at web.de
Mo Apr 7 09:02:55 UTC 2008


On Saturday 05 April 2008 22:14:05 Felix Schwarz wrote:
> Hallo,
>
> ich habe mir kürzlich zope.interface angesehen. Dabei ist mir aufgefallen,
> dass hier namespace packages verwendet werden (sinnvoll). Gleichzeit gibt
> es dort aber einen except-Handler für den Fall, dass setuptools nicht
>
> installiert ist:
> | # this is a namespace package
> | try:
> |     import pkg_resources
> |     pkg_resources.declare_namespace(__name__)
> | except ImportError:
> |     import pkgutil
> |     __path__ = pkgutil.extend_path(__path__, __name__)
>
> Meine Frage ist, ob pkgutil tatsächlich namespace packages emulieren kann,
> so wie ich das aus dem obigen Code entnehme. Welche Gründe gäbe es aber
> dann, nicht immer nur pkgutil zu verwenden?

Also so wie ich das sehe ist der Unterschied der, das ersteres mit eggs 
funktioniert, und diese laut [1] auch teil mehrerer namespaces sein koennen.

Es ist also flexibler, und ein bisschen polierter.

MfG Diez



[1]: http://peak.telecommunity.com/DevCenter/setuptools#namespace-packages