Estoy trabajando en el empaquetado de un pequeño proyecto de Python como un archivo zip o egg para que pueda ser distribuido. Me he encontrado con 2 formas de incluir los archivos de configuración del proyecto, los cuales parecen producir resultados idénticos.2 técnicas para incluir archivos en una distribución de Python: ¿cuál es mejor?
Método 1:
Incluir este código en setup.py:
from distutils.core import setup
setup(name='ProjectName',
version='1.0',
packages=['somePackage'],
data_files = [('config', ['config\propFiles1.ini',
'config\propFiles2.ini',
'config\propFiles3.ini'])]
)
Método 2:
Incluir este código en setup.py:
from distutils.core import setup
setup(name='ProjectName',
version='1.0',
packages=['somePackage']
)
Luego, cree un archivo MANIFEST.in con esta línea:
include config\*
¿Hay alguna diferencia entre los métodos? ¿Cuál es el preferido? Tiendo a inclinarme hacia el primero porque entonces no es necesario ningún archivo MANIFEST.in. Sin embargo, en el primer método debe especificar cada archivo individualmente, mientras que en el segundo solo puede incluir toda la carpeta. ¿Hay algo más que deba tener en cuenta? ¿Cuál es la práctica estándar?
Nota: use os.path.join para crear las rutas; usar "\" es específico de Windows. –
También puede usar '/' en todas las plataformas. ¡Observe si tiene un archivo como 'config \ notes.txt' que' \ n' se convertirá en una nueva línea! Tienes suerte, '\ p' no significa nada. –
@Ian Bicking - gracias por la sugerencia! Prefijé todos ellos con una r para que se ocupara de eso – froadie