Domanda

Quando eseguo pip freeze ottengo i pacchetti che ho installato esplicitamente più quei pacchetti che sono dipendenze di quei pacchetti.

Ad esempio:

$ pip install fabric
...
$ pip freeze
Fabric==1.0.1
paramiko==1.7.6
pycrypto==2.3

Va bene ma poi passo ad installare questo requirements.txt su un altro ambiente con pip install otterrei lo stesso risultato con le ultime 2 righe rimosse.

Quindi la mia domanda è: come posso creare il file requirements.txt più semplificato in cui non vengono mostrate tutte le dipendenze calcolabili?

È stato utile?

Soluzione

Ora c'è (disclaimer: l'ho fatto).

Tutto ciò di cui hai bisogno è installare pip-chill da PyPI ed eseguire pip-chill dal tuo ambiente Python.

Se ti senti avventuroso e non vuoi bloccare le versioni (o vuoi usare pip-compile), puoi usare pip-chill --no-version e ti darà i requisiti minimi per il tuo ambiente attuale.

https://github.com/rbanffy/pip-chill

Altri suggerimenti

Non c'è modo di creare "il file requirements.txt più semplificato" con pip e non so se ne avresti bisogno in questo caso.

È utile avere tutti i pacchetti nel file requirements.txt, perché sei sicuro di quali versioni delle dipendenze funzionano con il tuo ambiente.

Pensa all'aggiornamento di paramiko e alla rottura delle compatibilità all'indietro: avresti problemi.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top