Installare disinstallare e gestire i package di Python con pip

Introduzione

La potenza di Python è proprio la ricchezza di librerie che sono disponibili online. Queste librerie possono essere scaricate sul proprio ambiente di sviluppo sotto forma di pacchetti o packages. Le librerie utilizzate sul proprio sistema vanno via via accumulandosi e la loro gestione potrebbe risultare problematica se non vi fossero strumenti adeguati.

La gestione dei pacchetti in Python può essere davvero una cosa facile se si usano i giusti strumenti e Pip è uno di questi.

Pip e PyPI – il Python Package Index

Tutti i pacchetti più utilizzati dalla comunità di sviluppatori in Python vengono raccolti da anni in un repository unico e mondiale chiamato PyPI (Python Package Index). In questo repository, tutti i pacchetti vengono ordinati, documentati e versionati con un opportuno controllo per le dipendenze.

PIP è uno strumento fondamentale che ti permette di scaricare, aggiornare (praticamente sincronizzare) tutti i pacchetti del repository di cui hai bisogno, avendo la cura di controllare le opportune dipendenze e le loro versioni di compatibilità

Installazione di Pip

Generalmente in molte distribuzioni di Python, pip dovrebbe essere già incluso. Infatti per tutte le versioni di Python 2 >2.7.9 e Python 3 >3.4, pip è gia installato. Stessa cosa se si è creato un ambiente virtuale con con virtualenv o pyenv.

L’installazione è semplice

Su Ubunto e Debian

$ sudo apt-get install python-pip

Se Fedora

$ sudo yum install python-pip

Su Mac

$ sudo easy_install pip

Ma se non fosse così, è possibile installarlo facendo il download di uno script in Python creato appositamente e poi eseguirlo.

wget https://bootstrap.pypa.io/get-pip.py
python get-pip.py

Utilizzare PIP – I Comandi

Pip, oltre ad essere molto utile, è anche molto semplice da utilizzare. Basta richiamare da terminale pip seguito da un’opzione (comando) che non è altro l’operazione che vogliamo fargli fare.

Installazione di un pacchetto

Per esempio per installare un pacchetto, è sufficiente scrivere

pip install nomepacchetto

Pip si connetterà in rete con il repository, poi effettuerà una ricerca per trovare il pacchetto da te richiesto. Controllerà poi se esiste una versione compatibile con la tua versione di Python e con il sistema operativo che stai utilizzando.

Poi ti chiederà conferma se vuoi installare con classica scelta Yes or No. Poi se confermata comincerà ad installare il pacchetto ed eventuali altri pacchetti che sono richiesti per il suo funzionamento.

Disinstallare un pacchetto

La rimozione di un pacchetto è ancora più semplice

pip uninstall nomepacchetto

Elenco pacchetti installati

Per ottenere l’elenco dei pacchetti installati sul proprio sistema

pip freeze

o

pip list

Ricercare un determinato pacchetto nel repository PyPI

Infine se si vuole sapere sia l’esistenza che informazioni di un determinato pacchetto all’interno del repository PyPI senza doverlo installare, si scrive il seguente comando:

pip show nomepacchetto

Aggiornare PIP

Comunque Python è un linguaggio che sta vivendo un grande fermento e quindi ogni mese sono presenti sempre numerose nuove release, compreso PIP. Quindi è importante controllare se PIP stesso è aggiornato all’ultima versione

Per aggiornare PIP è sufficiente scrivere

pip install --upgrade pip

e il sistema comincerà a scrivere i seguenti comandi

You are using pip version 6.1.1, however version 9.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
C:\Users\Fabio\Anaconda\lib\site-packages\pip\_vendor\requests\packages\urllib3\util\ssl_.py:79: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
 InsecurePlatformWarning
Collecting pip
 Downloading pip-9.0.1-py2.py3-none-any.whl (1.3MB)
 100% |################################| 1.3MB 264kB/s
Installing collected packages: pip
 Found existing installation: pip 6.1.1
 DEPRECATION: Uninstalling a distutils installed project (pip) has been deprecated and will be removed in a future version. This is due to the fact that uninstalling a distutils project will only partially uninstall the project.
 Uninstalling pip-6.1.1:
 Successfully uninstalled pip-6.1.1
 Failed to write executable - trying to use .deleteme logic
Successfully installed pip-9.0.1

Una volta aggiornato PIP, possiamo sapere quali pacchetti hanno delle versioni più recenti rispetto a quelle attualmente installate sul tuo sistema

pip list --outdated --format=columns

Otterrai una tabella con il nome dei pacchetti, la versione corrente installata sul tuo sistema e la versione più recente presente nel repository

Package Version Latest Type
---------------------------- ------- ----------- -----
argcomplete 0.8.1 1.7.0 wheel
astropy 0.4.2 1.3 sdist
atom 0.3.9 0.3.10 sdist
backports.ssl-match-hostname 3.4.0.2 3.5.0.1 sdist
beautifulsoup4 4.3.2 4.5.3 wheel

Aggiornare tutti i pacchetti o packages con un solo comando

E’ strano ma vero, non esiste un comando semplice e diretto per aggiornare tutti i pacchetti  che abbiamo installato sul nostro sistema. E allora?

Bene esiste una riga abbastanza complessa con una pipe di diversi comandi che permette di fare ciò:

pip freeze --local | grep -v '^\e' | cut -d = -f 1 | xargs -n1 pip install -U

e il sistema comincerà ad aggiornarsi un pacchetto dopo l’altro. L’operazione potrebbe richiedere parecchi minuti.[:en]

Lascia un commento