Configurer un environnement virtuel python

Assurez-vous que la version du système Ubuntu est suffisamment récente

lsb_release -a

Résultat

Distributor ID:     Ubuntu

Description:        Ubuntu 24.04.3 LTS

Release:            24.04

Codename:           noble
python3 -V

Résultat

::
Python 3.12.3

Créer une base pour tous nos environnements virtuels

mkdir ${HOME}/.venv
# Nous pouvons maintenant créer tous nos environnements virtuels sous ${HOME}/.venv/

Créer un environnement virtuel Python

# Ici, nous appelons notre premier environnement devpi
cd ${HOME}/.venv/
python3 -m venv devpi

OU en utilisant venvwrapper

mkvenv devpi

Une fois notre environnement créé, on peut installer les éléments nécessaires pour commencer.

Activez-le

source ${HOME}/.venv/devpi/bin/activate

OU en utilisant venvwrapper

venv devpi

Installer les bases

# installer
python -m pip install -U pip
pip install wheel
pip install setuptools
pip install twine
pip install rst2pdf
pip install flit

# désactiver
deactivate

Garder les pré-requis

Une fois votre environnement virtuel terminé, il est conseillé d'enregistrer le contexte. On peut ensuite restaurer rapidement l´environnement virtuel à partir de zéro si nécessaire.

Pendant actif

pip freeze >requirements.txt

# It may be a good idea to keep such files under version control.

Recupérer

Pendant actif

pip install -r requirements.txt

Activation Automatique

Souvent nous souhaitons activer un projet à chaque connexion. Nous pouvons le faire automatiquement en ajoutant un élément come ceci à .bashrc et/ou à .profile.

#
# Ajouté pour activation automatique de l´environment virtuel.
#
if [ -f "${HOME}/.venv/devpi/bin/activate" ] ; then
    source ${HOME}/.venv/devpi/bin/activate
fi

OU en utilisant venvwrapper

#
# Ajouté pour activation automatique de l´environment virtuel.
#
VENV_HOME=${HOME}/.venv
venv_wrapper=$(which venvwrapper.sh)
if [[ -n $venv_wrapper ]]; then
    source $venv_wrapper
    venv devpi
fi
Publié le par Pierre Bernatchez dans «Infrastructure». Mots-clés: python, environnement virtuel, configer, outil