Come utente di pip install package
e poi pip freeze > requirements.txt
, sono rimasto sorpreso nel vedere i requisiti. txt come questo:
# Flask
# License: BSD
# Upstream url: http://github.com/mitsuhiko/flask/
# Use: For API.
Flask==0.10.1
# Flask Scripting support for Flask
# License: BSD
# Upstream url: http://github.com/techniq/flask-script
# Use: For CLI scripts.
Flask-Script==2.0.5
Si sono preoccupati di specificare i pacchetti di cui hanno bisogno in versioni specifiche. Al contrario, (il mio uso di) freeze del pip farà gonfiare il file anche con dipendenze, e le versioni potrebbero non essere strettamente controllate.
C'è una buona ragione per inserire esplicitamente il file dei requisiti? Posso pensare a:
- più facile rimuovere i pacchetti quando sono obsoleti, quindi inserire i requisiti "a mano"
- in scala, i bug sottili nelle versioni successive compatibili con API possono causare problemi, quindi la versione freeze