web-dev-qa-db-fra.com

Rétablir l'option `--no-site-packages` avec virtualenv

J'ai créé un virtualenv en utilisant le --no-site-packages option et installé de nombreuses bibliothèques. Maintenant, je voudrais revenir sur le --no-site-packages option et utiliser également les packages globaux.

Puis-je faire cela sans recréer le virtualenv?

Plus précisément:

Je me demande ce que exactement se produit lors de la création d'un virtualenv en utilisant le --no-site-packages option par opposition à ne pas utiliser cette option.

Si je sais ce qui se passe, je peux trouver comment l'annuler.

119
Olivier Verdier

Essayez de supprimer (ou de renommer) le fichier no-global-site-packages.txt dans votre dossier Lib sous votre environnement virtuel.

venv est le nom de votre environnement virtuel et python3.4 correspond à la version de python impliquée, par exemple:

$ rm venv/lib/python3.4/no-global-site-packages.txt

Et si vous changez d'avis et que vous souhaitez le remettre:

$ touch venv/lib/python3.4/no-global-site-packages.txt
155
ars

Lorsque vous utilisez virtualenvwrapper pour gérer virtualenvs, vous pouvez utiliser la fonction Shell toggleglobalsitepackages pour basculer entre l'utilisation et la non-utilisation des packages de site.

12
Adaephon

Au moins pour Python 3.5.2, il y a pyvenv.cfg fichier à la racine du répertoire virtualenv. Il vous suffit de changer include-system-site-packages drapeau de false à true:

home = /usr/bin
include-system-site-packages = false  # <- change this to "true"
version = 3.5.2
12
kotrfa

Essayez d'ajouter un lien symbolique entre /virtualenv_root/lib/ et /path/to/desired/site-packages/

2
Tim McNamara