Supponendo che nella distribuzione python sia già installato pip o easy_install, mi piacerebbe sapere come posso installare un pacchetto richiesto nella directory utente all'interno dello script stesso.Come installare un pacchetto Python mancante all'interno dello script che ne ha bisogno?
Da quello che so PIP è anche un modulo python quindi la soluzione dovrebbe essere simile:
try:
import zumba
except ImportError:
import pip
# ... do "pip install --user zumba" or throw exception <-- how?
import zumba
che cosa manco sta facendo "PIP installare --user zumba" da dentro pitone, non lo faccio voglio farlo usando os.system()
in quanto ciò potrebbe creare altri problemi.
suppongo che sia possibile ...
Che ne dite di questa soluzione: http://stackoverflow.com/questions/12332975/installing-python-module-within-code –
Penso che questo sarebbe molto pratica di codifica indesiderata al di fuori dello script di installazione. Io (come immagino la maggior parte delle persone) non mi piacerebbe/confido che qualsiasi programma che eseguo cambi il mio ambiente. Strumenti come pip e virtualenv sono specificamente lì in modo che l'utente abbia il controllo di quale pacchetto è installato su quale versione. Non è un esperto di distutils, ma so che ha le strutture per elencare i prerequisiti per qualsiasi pacchetto. Se è solo per uso personale potresti probabilmente scrivere un po 'di quel codice. – Joop
Grazie ragazzi, funziona perfettamente. Come nota, questa è una buona soluzione per script standalone, non per moduli/pacchetti. – sorin