Esta es una forma de declarar los llamados "paquetes de espacios de nombres" en Python.
¿Qué es esto y cuál es el problema:
Imagínese que distribuye un producto de software que tiene una gran cantidad de funcionalidad, y no todas las personas que quieren todos de la misma, por lo que se dividió en pedazos y buques complementos opcionales .
¿Quieres que la gente sea capaz de hacer
import your_project.plugins.plugin1
import your_project.plugins.plugin2
...
que está bien si la estructura de directorios es exactamente como antes, es decir
your_project/
__init__.py
plugins/
__init__.py
plugin1.py
plugin2.py
Pero lo que si usted envía estos dos plugins como pitón separada paquetes para que estén ubicados en dos directorios diferentes? Entonces puede poner __import__('pkg_resources').declare_namespace(__name__)
en cada paquete __init__.py
para que Python sepa que esos paquetes son parte de un "paquete de espacio de nombres" más grande, en nuestro caso es your_project.plugins
.
Consulte el documentation para obtener más información.
Usted puede encontrar esta pregunta y respuesta es útil: http://stackoverflow.com/questions/5064951/packaging-common-python-namespaces –