2015-07-03 28 views
11

vorrei utilizzare per un piccolo progetto Python questo modo di gestire moduli dipendenti: http://blog.zoomeranalytics.com/pip-install-t/Pip congelare per i pacchetti installati con --target

In breve, vorrei fare:

cd myproject

pip install --target ./pip-libs --upgrade -r requirements.txt

quindi aggiungere ./pip-libs a PYTHONPATH ed eseguire il mio script.

Questo sembra, ma mi piace usare l'uso pip congelare e non mi permette di fare qualcosa di simile

pip freeze --target pip-libs

per vedere i pacchetti installati nella cartella. Certo, posso dare un'occhiata dentro ma quale è un modo standard per mostrare i pacchetti installati in una cartella con --target? L'unico modo che posso pensare è fare ls di pip-libs e poi giocare con grep, awk ... Non sembra giusto.

Non sono sicuro che ci sia un modo, forse non è una buona idea o dovrei richiedere tale funzionalità per pip.

Python 2.7.9.

risposta

0

Sfortunatamente, non puoi farlo con pip freeze. I documenti dicono che pip install si installa in quella cartella di destinazione, ma è ancora all'interno del tuo percorso. Quindi, pip freeze mostra solo quali pacchetti sono installati, non cosa sono installati in un luogo particolare.

si poteva guardare pip show che contiene informazioni sul dove sono installati (vedi https://pip.pypa.io/en/stable/reference/pip_show/), ma si dovrà scrivere qualche sed/awk o simile per fare un grep sulla linea di "posizione" e poi tornare indietro e ottieni il nome del pacchetto.

L'altra opzione è quella di guardare solo le cartelle nella cartella di installazione e di capire cosa i pacchetti manualmente in cui da quel ... qualcosa come:

ls ./pip-libs | grep -v .dist-info

Problemi correlati