Dans ce tutoriel, nous allons vous montrer comment configurer l’activation automatique d’un environnement virtuel Python lors de la navigation dans les répertoires de vos projets. L’utilisation d’environnements virtuels est une pratique courante pour isoler les dépendances et les versions de Python pour chaque projet. Cela permet de maintenir une organisation propre et de prévenir les conflits entre les différentes bibliothèques utilisées. Cependant, il peut être fastidieux d’activer et de désactiver manuellement les environnements virtuels à chaque fois que vous travaillez sur un projet.
Pour résoudre ce problème, nous allons utiliser direnv, un outil d’automatisation d’environnement, et configurer Zsh pour afficher le nom de l’environnement virtuel dans le prompt. Suivez les étapes de ce tutoriel pour configurer l’activation automatique de votre environnement virtuel Python et gagnez du temps en évitant les manipulations manuelles répétitives.
Étape 1 : Installer et configurer direnv
- Installez
direnven utilisant le gestionnaire de paquets de votre système d’exploitation. Par exemple, pour macOS avec Homebrew :
brew install direnv
- Ajoutez le hook de
direnvà votre fichier de configuration Zsh. Ouvrez~/.zshrcet ajoutez la ligne suivante à la fin du fichier :
eval "$(direnv hook zsh)"
- Redémarrez votre shell ou exécutez
source ~/.zshrcpour prendre en compte les modifications.
Étape 2 : Configurer le fichier .envrc
- Dans le répertoire de votre application, créez un fichier
.envrcet ajoutez les lignes suivantes (en remplaçantmonenvpar le nom de votre environnement virtuel) :
# Activez l'environnement virtuel (remplacez 'monenv' par le nom de votre environnement)
source monenv/bin/activate
- Exécutez
direnv allowdans le répertoire de votre application pour autoriser les modifications du fichier.envrc.
Étape 3 : Afficher le nom du répertoire et la version de Python dans le prompt
- Ouvrez le fichier de configuration de votre shell (
~/.zshrc) et ajoutez les lignes suivantes à la fin du fichier :
# Ajoutez la fonction update_prompt
update_prompt() {
if [[ -n "$VIRTUAL_ENV" ]]; then
local env_name=$(basename $(pwd))
local python_version=$(python -V 2>&1)
PROMPT="($env_name) [${python_version}] $BASE_PROMPT"
else
PROMPT="$BASE_PROMPT"
fi
}
# Sauvegardez le prompt actuel
export BASE_PROMPT="$PROMPT"
# Ajoutez le hook precmd pour mettre à jour le prompt
autoload -Uz add-zsh-hook
add-zsh-hook precmd update_prompt
- Redémarrez votre shell ou exécutez
source ~/.zshrcpour prendre en compte les modifications.
C’est tout ! Maintenant, lorsque vous entrez ou sortez du répertoire de l’application, votre environnement virtuel python sera activé/désactivé et le prompt de votre terminal l’indiquera.