2016-01-20 19 views
5

Ho fatto apprendimento automatico da molto tempo usando MATLAB e di recente sono passato a Python e per l'installazione di alcuni pacchetti ho usato il suo gestore di pacchetti pip e ho installato molti pacchetti con successo. Qualche giorno fa ho iniziato a usare conda e tutti i miei pacchetti precedentemente installati vengono sovrascritti.Utilizzare pip o conda per gestire i pacchetti?

Voglio davvero conoscere la differenza tra pip e conda e cosa succede se utilizzo pip per installare pacchetti anziché conda?

risposta

2

Speriamo che qualcuno più esperto possa espandersi, ma sembra che Conda sia uno strumento di distribuzione non PIP compatibile sia per gli strumenti/pacchetti Python che per quelli non Python. Conda gestisce la propria installazione virtuale di Python e pacchetti, nonché le dipendenze non python.

PIP d'altra parte è un'utilità di distribuzione specifica di Python; non è a conoscenza di Conda e Conda non è a conoscenza di PIP.

Conoscendo quanto sopra, sarebbe logico che Conda non fosse a conoscenza dei pacchetti PIP precedentemente distribuiti, poiché i due non sono compatibili.

Fortunatamente, poiché i due sistemi sono separati, si dovrebbe essere in grado di ripristinare l'ambiente PIP nel caso in cui si decida di non passare a Conda. In caso contrario, si potrebbe provare l'installazione matlib su Conda di imitare ciò che si aveva setup su PIP:

Conda installare -c https://conda.anaconda.org/ioos matlab_kernel

Letture addizionali:

What is the difference between pip and conda?

https://conda.anaconda.org/menpo/channel/matlab

2

pip e conda hanno punti e differenze comuni. È difficile spiegare meglio di ciò che Jake VanderPlas ha fatto qui: https://jakevdp.github.io/blog/2016/08/25/conda-myths-and-misconceptions/

Per il tuo caso, sarebbe comunque meglio cancellare i pacchetti precedenti installati su pipe e fare affidamento solo su conda. Se ciò non è possibile a causa della mancata disponibilità di pacchetti in conda, è possibile installare pip in conda e quindi utilizzare conda install pip. (dal link sopra).

2

voglio veramente conoscere la differenza tra PIP e Conda

Vedi What is the difference between pip and conda?

E cosa succede se io uso pip di installare pacchetti in luogo di Conda?

Pip in generale (tranne per l'utilizzo di virtualenv) installa pacchetti per l'intero sistema (come root/magari come amministratore) o per l'utente. Conda installa i pacchetti all'interno della sua piccola directory/mondo, dove devono essere attivati, ignorando i pacchetti di pip, come già notato.

Come soluzione, è possibile installare prima i pacchetti tramite il sistema, pip secondo e conda in terzo luogo.

Quindi utilizzare il pacchetto di sistema se è tutto ciò che è necessario. Se è troppo vecchio per esempio, puoi usare pip install.

Se è necessario un pacchetto specifico, forse solo per un progetto, o se è necessario condividere il progetto con qualcun altro, conda sembra più appropriato. Vedi anche What is the advantage of Pip over Anaconda?.

Problemi correlati