Compila esplicitamente request.txt per i nostri progetti Python?

6

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:

  1. più facile rimuovere i pacchetti quando sono obsoleti, quindi inserire i requisiti "a mano"
  2. in scala, i bug sottili nelle versioni successive compatibili con API possono causare problemi, quindi la versione freeze
posta aitchnyu 22.12.2015 - 10:17
fonte

1 risposta

1

Per superare la complessità di requirements.txt potresti usare VirtualEnv . Isola le dipendenze del progetto dal resto del sistema. Come effetto collaterale, pip freeze stamperà solo le dipendenze rilevanti per il tuo progetto.

Ma in generale, si usa pip freeze solo una volta e poi si mantiene requirements.txt manualmente.

    
risposta data 22.12.2015 - 11:13
fonte

Leggi altre domande sui tag