Como dije recientemente en un hilo hn , recomendaré lo siguiente:
Tenga un requirements.txt
archivo comentado con sus principales dependencias:
## this is needed for whatever reason
package1
Instalar sus dependencias: pip install -r requirements.txt
. Ahora obtienes la lista completa de tus dependencias con pip freeze -r requirements.txt
:
## this is needed for whatever reason
package1==1.2.3
## The following requirements were added by pip --freeze:
package1-dependency1==1.2.3
package1-dependency1==1.2.3
Esto le permite mantener su estructura de archivos con comentarios, separando muy bien sus dependencias de las dependencias de sus dependencias. De esta manera, tendrás un momento mucho más agradable el día que necesites eliminar uno de ellos :)
Tenga en cuenta lo siguiente:
- Puede tener una limpieza
requirements.raw
con control de versiones para reconstruir su completo requirements.txt
.
- Tenga cuidado con las URL de git reemplazadas por nombres de huevo en el proceso.
- Las dependencias de sus dependencias todavía están ordenadas alfabéticamente, por lo que no sabe directamente cuál fue requerido por qué paquete, pero en este punto realmente no lo necesita.
- Úselo
pip install --no-install <package_name>
para enumerar requisitos específicos.
- Use virtualenv si no lo hace.
pipdeptree -r
"Muestra el árbol de dependencias de manera inversa, es decir, las subdependencias se enumeran con la lista de paquetes que las necesitan debajo de ellas".