Gestire Python virtualenv con pyenv su Linux

Thu 23 February 2023

Questo articolo descrive quali sono i comandi necessari per configurare e gestire un virtualenv su ambiente Linux con pyenv e pyenv-virtualenv.

Per prima cosa dovranno essere installati i pacchetti con i seguenti comandi:

sudo pacman -Sy pyenv
sudo pacman -Sy pyenv-virtualenv

Qualora il tuo gestore di pacchetti non consenta l'installazione della libreria pyenv-virtualenv (cosa che avviene ad esempio sulle distro Manjaro), allora dovrai ricorrere all'installazione della libreria come pacchetto AUR. In questo articolo è spiegato come fare ad installare un pacchetto AUR.

I precedenti comandi utilizzano il gestore pacchetti pacman per una distribuzione Arch-based ma puoi utilizzare qualsiasi gestore a seconda della distro che usi.

Installati i pacchetti, passiamo a verificare quali sono le possibili versioni di python utilizzabili con il comando:

pyenv install --list

Individuata la versione di Python da utilizzare (supponiamo in questo esempio sia la 3.10.9), procediamo l'installazione della versioe che intendiamo utilizzare:

pyenv install 3.10.9

e successivamente con la creazione del virtrualenv con la versione installata:

pyenv virtualenv 3.10.9 mio_virtualenv

Per visualizzare il virtualenv, denominato mio_virtualenv, appena creato, invocare il comando:

pyenv virtualenvs

A questo punto è possibile attivare il virtualenv con il comando:

pyenv activate mio_virtualenv

e disattivare lo stesso con il comando:

pyenv deactivate

Tuttavia, con i comandi presentati l'attivazione e la disattivazione del virtualenv deve essere eseguita necessariamente in modalità manuale. Ogni volta che dobbiamo utilizzare il virtualenv dovremo invocare il comando e fare altrettanto quando non vogliamo più utilizzarlo.

Tuttavia, pyenv offre una modalità di attivazione/disattivazione molto comoda che consente le operazioni in modo automatico. Per attivare/disattivare automaticamente un virtualenv su una cartella del nostro path, che denomineremo BASEDIR, eseguiamo il comando:

cd $BASEDIR
pyenv local mio_virtualenv

Da questo momento in poi ogni volta che accederemo alla cartella BASEDIR e alle sue sottocartelle, il virtualenv è attivato. Quando usciremo dalla cartella il virtualenv è disattivato. Decisamente comodo.

Conclusioni

In questo articolo hai visto come creare e configurare virtualenv utilizzando il comando pyenv. L'articolo mostra come puoi attivare e disattivare sia manualmente che automaticamente i virtualenv con la libreria.