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\activateau lieu debin/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 :
- Local :
.venv/bin/activate— l'environnement virtuel spécifique au projet, créé avecpython3 -m venv .venv. - 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
.venvlocal dans un projet qui utilisait auparavant le global, pensez à exécuterpyonà 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.