La risposta breve è che, nella mia esperienza in generale, non importa quale usi.
La lunga risposta:
Quindi conda-forge
è un canale aggiuntivo da cui possono essere installati i pacchetti. In questo senso, non è più speciale del canale predefinito o di qualsiasi altra centinaia (migliaia?) Di canali in cui le persone hanno inviato pacchetti. Puoi aggiungere il tuo canale se ti iscrivi a https://anaconda.org e carichi i tuoi pacchetti Conda.
Qui dobbiamo fare la distinzione, che penso non sia chiara dalla tua frase nella domanda, tra conda
il gestore di pacchetti multipiattaforma e conda-forge
il canale dei pacchetti. Anaconda Inc. (ex Continuum IO), i principali sviluppatori del conda
software, mantiene anche un canale separato di pacchetti, che è l'impostazione predefinita quando si digita conda install packagename
senza modificare alcuna opzione.
Esistono tre modi per modificare le opzioni per i canali. I primi due vengono eseguiti ogni volta che installi un pacchetto e l'ultimo è persistente. Il primo è specificare un canale ogni volta che installi un pacchetto:
conda install -c some-channel packagename
Ovviamente il pacchetto deve esistere su quel canale. In questo modo installerà packagename
e tutte le sue dipendenze da some-channel
. In alternativa, puoi specificare:
conda install some-channel::packagename
Il pacchetto deve ancora esistere some-channel
, ma ora packagename
verrà estratto solo da some-channel
. Qualsiasi altro pacchetto necessario per soddisfare le dipendenze verrà cercato dall'elenco di canali predefinito.
Per vedere la configurazione del tuo canale, puoi scrivere:
conda config --show channels
È possibile controllare l'ordine con cui vengono cercati i canali conda config
. Tu puoi scrivere:
conda config --add channels some-channel
per aggiungere il canale some-channel
all'inizio channels
dell'elenco di configurazione. Questo dà some-channel
la massima priorità. La priorità determina ( in parte ) quale canale è selezionato quando più di un canale ha un particolare pacchetto. Per aggiungere il canale alla fine dell'elenco e assegnargli la priorità più bassa, digitare
conda config --append channels some-channel
Se desideri rimuovere il canale che hai aggiunto, puoi farlo scrivendo
conda config --remove channels some-channel
Vedere
conda config -h
per più opzioni.
Detto questo, ci sono quattro ragioni principali per utilizzare il conda-forge
canale invece del defaults
canale gestito da Anaconda:
- I pacchetti su
conda-forge
potrebbero essere più aggiornati di quelli sul defaults
canale
- Ci sono pacchetti sul
conda-forge
canale che non sono disponibili dadefaults
- Preferiresti usare una dipendenza come
openblas
(from conda-forge
) invece di mkl
(from defaults
).
- Se stai installando un pacchetto che richiede una libreria compilata (ad esempio, un'estensione C o un wrapper attorno a una libreria C), potrebbe ridurre la possibilità di incompatibilità se installi tutti i pacchetti in un ambiente da un singolo canale a causa del binario compatibilità della libreria C di base (ma questo consiglio potrebbe non essere aggiornato / cambiare in futuro).
conda
è un gestore di pacchetti edconda-forge
è un canale. Forse era vero quando è stata posta questa domanda?