Estoy tratando de organizar algunos módulos para mi propio uso. Tengo algo como esto:
lib/ __init__.py settings.py foo/ __init__.py someobject.py bar/ __init__.py somethingelse.py
En lib/__init__.py
, quiero definir algunas clases para usar si importo lib. Sin embargo, parece que no puedo resolverlo sin separar las clases en archivos e importarlos en __init__.py
.
En lugar de decir:
lib/ __init__.py settings.py helperclass.py foo/ __init__.py someobject.py bar/ __init__.py somethingelse.py from lib.settings import Values from lib.helperclass import Helper
Quiero algo como esto:
lib/ __init__.py #Helper definido en este archivo settings.py foo/ __init__.py someobject.py bar/ __init__.py somethingelse.py from lib.settings import Values from lib import Helper
¿Es posible o tengo que separar la clase en otro archivo?
EDITAR
OK, si importo lib desde otro script, puedo acceder a la clase Helper. ¿Cómo puedo acceder a la clase Helper desde settings.py?
El ejemplo aquí describe las referencias dentro del paquete. Cito "los submódulos a menudo necesitan referirse a cada uno de los otros su". En mi caso, lib.settings.py necesita el Helper y lib.foo.someobject necesita acceso al Helper, entonces, ¿dónde debo definir la clase Helper?