115 votes

virtualenv ne s'active pas sous Windows

Essentiellement, je ne parviens pas à activer l'environnement virtualenv que je crée.

Je fais cela à l'intérieur de Windows PowerShell en utilisant

scripts\activate

mais je reçois un message d'erreur :

"ne peut être chargé car l'exécution de scripts est désactivée sur ce système".

Cela pourrait-il être dû au fait que je n'ai pas de privilèges d'administrateur sur mon ordinateur ?

227voto

Kamiccolo Points 1568

Selon le support technique de Microsoft il peut s'agir d'un problème avec les paramètres de la politique d'exécution. Pour le résoudre, vous devriez essayer d'exécuter Set-ExecutionPolicy Unrestricted -Scope Process (comme mentionné dans la section commentaire par @wtsiamruk) dans votre fenêtre PowerShell. Cela permettrait d'exécuter virtualenv dans la session PowerShell en cours.

Il existe également une autre approche, plus dangereuse, mais recommandée par le support technique de MS. Cette approche consiste à utiliser Set-ExecutionPolicy Unrestricted -Force (qui libèrent des pouvoirs pour foutre en l'air votre système). Cependant, avant d'utiliser cette méthode peu sûre, assurez-vous de vérifier votre politique d'exécution actuelle en utilisant la commande get-ExecutionPolicy . Ensuite, lorsque vous avez terminé, vous pouvez revenir à cette politique d'exécution en utilisant la fonction Set-ExecutionPolicy %the value the get-ExecutionPolicy command gave you% -Force .

48voto

Matt N Points 631

Dans PowerShell, utilisez

Scripts\activate.ps1

au lieu de activate.bat qui ne fonctionne plus dans PowerShell.

Vous pouvez également le désactiver en tapant simplement

deactivate

à l'invite de commande.

26voto

dovy Points 358

Sous Windows, ouvrez Windows PowerShell en tant qu'administrateur.

Enter image description here

Set-ExecutionPolicy Unrestricted -Force

Créez un environnement virtuel :

pip install virtualenv
virtualenv foo
cd .\foo
.\Scripts\activate

Enter image description here

9voto

Adil Siddiqui Points 91

Définir la politique d'excution pour le portée du processus . Après Oui [y], tapez le script/activate :

Enter image description here

9voto

Abhishek Chauhan Points 135

Ouvrez une autre fenêtre PowerShell en tant qu'administrateur, puis tapez :

set-executionpolicy remotesigned

Ensuite, appuyez sur Y y luego Enter .

Fermez maintenant cette fenêtre PowerShell et revenez au shell avec lequel vous travailliez. Cela résoudra le problème.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X