Utilizo setuptools para distribuir mi paquete de Python. Ahora necesito distribuir archivos de datos adicionales.
Por lo que he recopilado de la documentación de setuptools, necesito tener mis archivos de datos dentro del directorio del paquete. Sin embargo, preferiría tener mis archivos de datos dentro de un subdirectorio en el directorio raíz.
Lo que me gustaría evitar:
/ #root
|- src/
| |- mypackage/
| | |- data/
| | | |- resource1
| | | |- [...]
| | |- __init__.py
| | |- [...]
|- setup.py
Lo que me gustaría tener en su lugar:
/ #root
|- data/
| |- resource1
| |- [...]
|- src/
| |- mypackage/
| | |- __init__.py
| | |- [...]
|- setup.py
Simplemente no me siento cómodo con tener tantos subdirectorios, si no es esencial. No encuentro una razón por la que tengo que poner los archivos dentro del directorio del paquete. También es engorroso trabajar con tantos subdirectorios anidados en mi humilde opinión. ¿O hay alguna buena razón que justifique esta restricción?
fuente
__init__.py
archivo, incluso si ese archivo está en blanco. Por lo tanto, podría mantener un directorio de datos separado con un__init__.py
archivo vacío para que parezca un paquete. Eso debería evitar que grep de su árbol de fuentes los recoja, pero Python y sus herramientas de compilación lo reconocerán como un paquete.