Empecé a trabajar con Python. Agregué requirements.txt y setup.py a mi proyecto. Pero, todavía estoy confundido acerca del propósito de ambos archivos. He leído que setup.py está diseñado para cosas redistribuibles y que requirements.txt está diseñado para cosas no redistribuibles. Pero no estoy seguro de que esto sea exacto.
¿Cómo se pretende realmente que se usen esos dos archivos?
requirements.txt :
Esto le ayuda a configurar su entorno de desarrollo.
Los programas como pip se pueden usar para instalar todos los paquetes enumerados en el archivo de una sola vez. Después de eso, puede comenzar a desarrollar su script de python. Especialmente útil si planea que otros contribuyan al desarrollo o use entornos virtuales. Así es como lo usas:
pip install -r requirements.txt Puede ser producido fácilmente por el propio pip :
pip freeze > requirements.txt pip automáticamente intenta agregar solo paquetes que no están instalados de forma predeterminada, por lo que el archivo producido es bastante mínimo.
setup.py :
Esto le ayuda a crear paquetes que puede redistribuir.
El script setup.py está diseñado para instalar su paquete en el sistema del usuario final, no para preparar el entorno de desarrollo como lo hace pip install -r requirements.txt . Consulte esta respuesta para obtener más detalles sobre setup.py .
Las dependencias de su proyecto se enumeran en ambos archivos.