Activer un virtualenv fonctionne en changeant votre shell PATH afin que le répertoire bin/de virtualenv soit le premier. C'est tous le il le fait. Cela signifie que lorsque vous exécutez "python", il exécute la copie de virtualenv du binaire Python au lieu de votre système global python.
Si vous avez du jaune installé globalement, cependant, le seul binaire "jaune" sur votre PATH est/usr/local/bin/yolk ou un tel; l'activation de virtualenv ne change pas cela (car il n'y a pas de script "yolk" dans votre bin/dir virtualenv). Et le script/usr/local/bin/yolk a naturellement votre interpréteur Python système dans sa ligne shebang.
C'est pourquoi l'installation du jaune dans virtualenv résout le problème; car il ajoute un script jaune dans votre bin/dir virtualenv qui contient le python de virtualenv dans sa ligne shebang. Si vous ne voulez pas installer de jaune dans chaque virtualenv, vous pouvez aussi simplement copier le script-wrapper jaune depuis/usr/local/bin ou n'importe où dans le répertoire bin de votre virtualenv, et changer manuellement la ligne shebang pour pointer vers le python de votre virtualenv. Cela ne fonctionnera pas avec un paquet virtuel --no-site-packages, cependant, parce que le wrapper de script ne sera pas capable de trouver les paquets jaunes réels qu'il doit importer! Si vous voulez utiliser le jaune dans un virtualenv --no-site-packages, votre seul choix est de l'installer ici.
Installation de jaune dans l'environnement virtuel aidé ... assez étrange. –