2016-03-17 17 views
5

Quindi, ho visto What is the difference between pip and conda?. Tuttavia, tutte le risposte sembrano essere dei sostenitori di Anaconda. Quindi, questo mi ha fatto chiedere: perché Pip è ancora lo standard? perché non tutti si sono appena trasferiti in anaconda?Qual è il vantaggio di Pip rispetto ad Anaconda?

Capisco che anaconda funziona solo con un proprio pitone, ma è l'unico svantaggio?

+1

Nota: ho provato a chiedere a SoftewareRecommendations, e hanno detto che non era appropriato. Dato che la vecchia domanda era in SO, ho pensato che fosse appropriato qui, e penso di aver spiegato perché le risposte alla domanda precedente erano insufficienti. (Scusate, ho avuto sfortuna con le cose che si stanno chiudendo di recente, quindi ho pensato che l'avrei capitato.) –

+2

pip tira da PyPI, mentre Anaconda no. Ciò significa che quasi tutti i pacchetti che hai sentito possono essere installati con "pip install X", ma molti pacchetti non sono disponibili nel repository Anaconda. –

+1

La risposta qui riassume tutto per te: http://stackoverflow.com/a/21009909/1795121 – jacmoe

risposta

5

Sulla base della mia esperienza limitata, direi che il vantaggio principale di pip over conda è la possibilità di installare pacchetti che non sono disponibili da conda o Anaconda.org.

https://conda.io/docs/using/pkgs.html#install-non-conda-packages - dice sostanzialmente lo stesso.

Sono stato a lungo in uso da tempo, principalmente studiando Machine Learning e argomenti correlati. Sono un utente felice il 99,99% delle volte. Ma quando si affrontano sfide come la creazione e l'installazione di tensorflow con il supporto GPU per Mac che supporterebbe la sua GPU piuttosto datata/obsoleta, non si può davvero fare affidamento su conda.

1

Un enorme vantaggio di pip è la capacità integrata di di installare i pacchetti a livello di sistema tramite f.ex.

sudo -H pip install ipython 

In realtà è abbastanza intelligente per fare questo per impostazione predefinita se eseguito come utente root, l'installazione in una directory nel percorso di esecuzione globale. (/usr/local/bin?)

Ciò che può effettivamente essere considerato un vantaggio per alcune cose è che il pip compila i pacchetti (per impostazione predefinita). Quindi alcuni pacchetti come f.ex. che in realtà sono ottimizzati durante l'installazione non dovrebbero essere installati via conda, o forse non ci si può perdere.

Infine, come mentioned, pip è direttamente collegato all'archivio dei pacchetti di Python, mentre conda presumibilmente deve essere detto quando un nuovo pacchetto è stato caricato tramite una nuova configuazione.