Preparing your experience...

Chargement Rapide de venv Python — Local Puis Global

— 2 min de lecture

Passer d'un projet Python à l'autre devrait être instantané. Le motif ci-dessous vous donne cette rapidité avec une seule commande : vérifier s'il existe un .venv local dans le répertoire courant et basculer sur un ~/.venv global si aucun n'existe localement.

Note : Ce guide couvre macOS et Linux (bash / zsh). Windows utilise Scripts\activate au lieu de bin/activate, et les chemins utilisent \ au lieu de /. Adaptez la fonction en conséquence ou exécutez-la dans Git Bash / WSL où bash est disponible.

La fonction

Ajoutez ceci à votre ~/.bashrc (ou ~/.zshrc) :

pyon() {
    if [ -f "./.venv/bin/activate" ]; then
        source "./.venv/bin/activate"
    elif [ -f "$HOME/.venv/bin/activate" ]; then
        source "$HOME/.venv/bin/activate"
    else
        echo "pyon: no venv found in ./.venv or ~/.venv" >&2
        return 1
    fi
}

Puis rechargez votre configuration shell avec source ~/.bashrc et c'est tout.

Comment ça marche

Exécutez pyon depuis n'importe quel répertoire. La fonction vérifie deux emplacements dans l'ordre :

  1. Local : .venv/bin/activate — l'environnement virtuel spécifique au projet, créé avec python3 -m venv .venv.
  2. Global : ~/.venv/bin/activate — votre environnement universel personnel pour les projets qui n'incluent pas leur propre venv.

Si aucun n'existe, il affiche une erreur et quitte avec le code 1 pour que vous sachiez immédiatement qu'il y a un problème.

Créer le venv global

Pour les projets sans environnement virtuel local, configurez une seule fois un global unique :

python3 -m venv ~/.venv

Puis exécutez pyon dans n'importe quel répertoire de projet — il activera automatiquement cet environnement partagé.

Attention: Si vous créez un nouveau .venv local dans un projet qui utilisait auparavant le global, pensez à exécuter pyon à nouveau depuis le répertoire du projet. La fonction se résout au moment de l'appel, pas au démarrage du shell.

Pourquoi c'est meilleur que le sourcing manuel

L'approche traditionnelle consiste à mémoriser et taper le chemin complet chaque fois :

source my-project/.venv/bin/activate

Cela échoue dès que vous changez de répertoire ou travaillez sur plusieurs projets. Avec pyon, vous tapez un seul mot — peu importe où vous êtes — et il trouve le bon environnement pour vous. Il fonctionne aussi dans les sous-répertoires, ce qui correspond à la façon dont la plupart des développeurs naviguent dans leurs dossiers de projet de toute façon.

Désactiver

Comme avec n'importe quel environnement virtuel, quittez avec :

deactivate

Cela restaure votre shell sur le Python du système. La fonction pyon en elle-même n'interfère pas avec deactivate.

TenolifeTENOLIFE