Skip to content

Comment activer automatiquement un environnement virtuel Python

Published: at 15:57

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

  1. Installez direnv en utilisant le gestionnaire de paquets de votre système d’exploitation. Par exemple, pour macOS avec Homebrew :
brew install direnv
  1. Ajoutez le hook de direnv à votre fichier de configuration Zsh. Ouvrez ~/.zshrc et ajoutez la ligne suivante à la fin du fichier :
eval "$(direnv hook zsh)"
  1. Redémarrez votre shell ou exécutez source ~/.zshrc pour prendre en compte les modifications.

Étape 2 : Configurer le fichier .envrc

  1. Dans le répertoire de votre application, créez un fichier .envrc et ajoutez les lignes suivantes (en remplaçant monenv par le nom de votre environnement virtuel) :
# Activez l'environnement virtuel (remplacez 'monenv' par le nom de votre environnement)
source monenv/bin/activate
  1. Exécutez direnv allow dans 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

  1. 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
  1. Redémarrez votre shell ou exécutez source ~/.zshrc pour 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.