Conda (gestore pacchetti)

Conda
software
Logo
Logo
GenereSistema di gestione dei pacchetti
SviluppatoreAnaconda, Inc.
Ultima versione24.11.0 (20 novembre 2024)
Sistema operativoLinux
Microsoft Windows
macOS
Linguaggiopython
Python (non in lista)
LicenzaLicenza BSD
(licenza libera)
Sito webconda.io/

Conda è un gestore di pacchetti e di ambienti virtuali open source,[1] multipiattaforma e [2] indipendente dal linguaggio. Originariamente sviluppato per affrontare le sfide della gestione dei pacchetti (installazione, aggiornamento e risoluzione delle dipendenze) da parte dei data scientist che utilizzano Python, oggi è un popolare gestore di pacchetti per Python e R. [3][4]

Creato nel 2012 da Continuum Analytics (ora Anaconda Inc.),[5] Conda era parte della distribuzione Anaconda, ma è stato successivamente rilasciato come pacchetto separato [6] sotto la licenza BSD.[1][7][8][9][10][11]

E' incluso in tutte le versioni di Anaconda, Miniconda,[12] e Anaconda Repository.[13] Conda è un progetto affiliato a NumFOCUS.[14]

Caratteristiche

Conda, come gestore di pacchetti, gestisce l'installazione di pacchetti precompilati (binari) e delle relative dipendenze prelevando quelli ottimizzati per la specifica piattaforma (Linux, Windows e macOS) da specifici repository.[15]

Quando si richiede l'installazione di un pacchetto o un aggiornamento, Conda utilizza un algoritmo di risoluzione delle dipendenze che analizza i pacchetti attualmente installati, eventuali limitazioni di versione imposte dall'utente (ad esempio, l'utente desidera che un pacchetto specifico sia almeno della versione 2.1.3) e cerca di trovare una combinazione di versioni dei pacchetti che soddisfi tutti i requisiti senza conflitti. Confronta le versioni dei pacchetti e le loro dipendenze per garantire che le versioni installate siano compatibili. Se esistono conflitti tra le dipendenze, Conda segnala l'errore all'utente e propone alternative possibili.

Conda consente agli utenti di creare delle specie di sandbox isolate all'interno del sistema, dove è possibile installare e gestire specifiche versioni di Python e dei suoi pacchetti senza interferire con altri progetti o ambienti. Queste sandbox in Conda prendono il nome di ambienti.[16]

Ogni ambiente consente all'utente di creare diversi set di pacchetti software per ogni progetto su cui stanno lavorando. Gli ambienti Conda sono essenziali per gestire progetti Python con requisiti diversi, garantendo la flessibilità, l'organizzazione e la riproducibilità del proprio lavoro.

Ad esempio, supponiamo di avere due progetti con le seguenti caratteristiche:

  • Progetto A: Richiede Python 3.7 e le librerie TensorFlow 1.15 e Keras 2.3.1.
  • Progetto B: Richiede Python 3.9 e le librerie PyTorch 1.10 e scikit-learn 1.0.

E' possibile creare due ambienti, uno per il Progetto A e uno per il Progetto B.

  • Ambiente A: Con Python 3.7, TensorFlow 1.15 e Keras 2.3.1.
  • Ambiente B: Con Python 3.9, PyTorch 1.10 e scikit-learn 1.0.

In questo modo è possibile passare da un progetto all'altro semplicemente attivando l'ambiente corrispondente e senza preoccuparsi di conflitti tra le versioni delle librerie.

Per facilitare ulteriormente l'installazione di tali ambienti, Conda può anche installare Python, l'interprete per i pacchetti software stessi.[17]

Conda è scritto in Python, ma può gestire progetti contenenti codice scritto in qualsiasi linguaggio, compresi progetti multilinguaggio.

Un canale Conda popolare per il software di bioinformatica è Bioconda, che fornisce molteplici distribuzioni di software per la biologia computazionale.

Voci correlate

Note

  1. ^ a b Sito ufficiale, su conda.io.
  2. ^ Building Conda Packages for Multiple Operating Systems.
  3. ^ Micha Gorelick e Ian Ozsvald, High Performance Python: Practical Performant Programming for Humans, 1st, O'Reilly Media, settembre 2014, pp. 370, ISBN 978-1449361594.
  4. ^ networkworld.com, http://www.networkworld.com/article/2163350/application-performance-management/python-gets-a-big-data-boost-from-darpa.html.
  5. ^ (EN) Anaconda History, su anaconda.com.
  6. ^ FAQ - Bioconda documentation, https://bioconda.github.io/contributor/faqs.html#conda-anaconda-minconda.
  7. ^ penandpants.com, http://penandpants.com/2014/10/09/state-of-conda-oct-2014/.
  8. ^ Tony Ojeda, Sean Patrick Murphy e Benjamin Bengfort, Practical Data Science Cookbook, Packt Publishing Ltd, 25 settembre 2014, ISBN 978-1783980253.
  9. ^ Hans Petter Langtangen, A Primer on Scientific Programming with Python, Springer, 2014, ISBN 978-3642549595.
  10. ^ Yves Hilpisch, Python for Finance: Analyze Big Financial Data, O'Reilly Media, 11 dicembre 2014, ISBN 9781491945391.
  11. ^ https://finance.yahoo.com/news/continuum-analytics-launches-anaconda-server-140000663.html.
  12. ^ conda.io, https://conda.io/docs/glossary.html#miniconda-glossary. URL consultato l'11 luglio 2018.
  13. ^ anaconda.org, https://anaconda.org/anaconda/repo.
  14. ^ numfocus.org, https://numfocus.org/sponsored-projects/affiliated-projects. URL consultato il 25 ottobre 2021.
  15. ^ (EN) Medium, https://towardsdatascience.com/managing-project-specific-environments-with-conda-b8b50aa8be0e. URL consultato il 9 luglio 2024.
  16. ^ conda.io, https://conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html#. URL consultato il 14 aprile 2024.
  17. ^ conda.pydata.org, 2015, http://conda.pydata.org/docs/test-drive.html#managing-python. URL consultato il 16 giugno 2015.
    «So now let’s say you need Python 3 to learn programming, but you don’t want to overwrite your Python 2.7 environment by updating Python. You can create and activate a new environment named snakes, and install the latest version of Python 3 as follows...»

Collegamenti esterni

  Portale Software libero: accedi alle voci di Wikipedia che trattano di software libero

 

Prefix: a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9

Portal di Ensiklopedia Dunia