2011-09-24 24 views
5

He escrito un módulo de Python que me gustaría poner a disposición de otros. En este momento, es una gran módulo anidado en sub-carpetas:¿Cómo debo dividir un módulo Python en paquetes PyPi?

  • espectro
    • util
    • ext
    • de color

Creo que lo mejor es dividir estos subcarpetas en paquetes separados. The tipfy project does this. Sin embargo, los módulos ext y color dependen de util.

¿Cuál es la mejor manera de organizar y lanzar estos módulos? ¿Los divido y les doy el nombre wraith.util, wraith.ext y wraith.color como tipfy? ¿Incluyo util cuando las personas instalan ext o color?

+4

¿De qué tamaño son los sub-módulos? Honestamente, probablemente sea más simple distribuirlo solo. Siempre y cuando no estés poniendo MB de datos en los discos duros de las personas sin ninguna razón, a nadie le importará uno o dos módulos adicionales. – Amber

Respuesta

1

Si wraith.ext etc. no son útiles por sí solos, no es necesario dividirlos. ¿Puedes imaginar que alguien use wrait.util sin instalar wraith.color?

Si decide dividir necesita configurar install_requires en setup.py que indica a setuptools, etc. las dependencias del paquete. También necesita configurar namespace_packages diciendo que wrait namespace también recibirá otros paquetes.

Más información

+0

wraith.util es la parte más útil. ext y color dependen de util. –

Cuestiones relacionadas