Comment activer l'environnement virtuel Pycharm?

Résolu/Fermé
Shielded Messages postés 20 Date d'inscription vendredi 19 mars 2021 Statut Membre Dernière intervention 3 mars 2023 - 1 mars 2023 à 23:25
 Shielded - 8 mars 2023 à 22:43

Bonjour Mesdames, Messieurs,

J'utilise windows 11 et Pycharm 2023, 3.1 et Python 3.10

Je veux prendre en main django et pour cela je veux créer un environnement virtuel dans Pycharm. J'ai utilisé le terminal PowerShell pour créer le Projet, créer l'envionnement virtuel. Mais quand arrive le moment de l'activation de l'environnement virtuel, ça ne marche. J'ai essayé les commande :

1 - source env/Scripts/activate.bat  et ça ne marche pas.

2 - Python -m django env/Scripts/activate.bat mais ça ne donne rien.

Si quelqu'un pouvait me guider je lui serai reconnaissant!

Cordialement,


Windows / Chrome 110.0.0.0

4 réponses

mamiemando Messages postés 33077 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 18 avril 2024 7 748
3 mars 2023 à 15:58

Bonjour,

Tu peux directement créer un projet mettant un venv en jeu dans pycharm. Voir ce lien.

Ensuite par rapport aux commandes que tu donnes il faudrait donner les messages d'erreurs correspondants. Ces deux commandes mettant en jeu des chemins relatif, il faudrait au moins que ton terminal pycharm soit positionné dans le dossier qui contient le sous dossier env. Cependant, je pense que le plus simple et le plus propre consiste à créer ton venv au moment de créer ton projet pycharm, puis peupler ton venv à l'aide du terminal de pycharm (qui activera normalement directement ton venv).

Bonne chance

1
Shielded Messages postés 20 Date d'inscription vendredi 19 mars 2021 Statut Membre Dernière intervention 3 mars 2023 1
Modifié le 3 mars 2023 à 17:23

Bonjour,

Merci pour votre intervention.

J'ai trouvé la solution. En effet, il fallait que j'ouvre Powershell en mode admin puis désactive les restrictions d'exécution présent dans le système avec la commande ci-dessous.

Set-ExecutionPolicy Unrestricted -Force

Puis je vais dans n'importe quel terminal, je me place dans le repertoire contenant le env et fais env/Scripts/activate et c'est réglé.

Voir ce lien pour plus de détails.

Merci encore.

Cordialement,

1
mamiemando Messages postés 33077 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 18 avril 2024 7 748
Modifié le 3 mars 2023 à 17:23

Merci pour les précisions :-) Par curiosité, est-ce que l'approche que je t'ai suggérée ne permettait pas d'aboutir au même résultat plus simplement (j'imagine que pycharm utilise un directement paramétré pour utiliser des venv) ?

Bonne continuation

0
Shielded Messages postés 20 Date d'inscription vendredi 19 mars 2021 Statut Membre Dernière intervention 3 mars 2023 1
Modifié le 6 mars 2023 à 15:48

Bon, je pense que c'est plus un problème de privilèges dans le système.

Comme j'ai déjà activé, même-si je teste votre méthode, je me dit que je ne saurai pas réellement si c'est efficace vu que la commande précédente a déjà fait ces effets. Je ne peux plus revenir en arrière.

Cependant votre méthode pourrait marcher en considérant le message du 6 Août dans ce lien, c'est-à-dire en créant un script contenant des commandes d'activation. 

Ça demeure une option possible.

Merci.
Cordialement,

0
mamiemando Messages postés 33077 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 18 avril 2024 7 748
6 mars 2023 à 15:55
  • Merci pour les précisions, j'ai regardé, c'est effectivement global au système (je connais mal Windows, je ne l'utilise que pour jouer).
  • On peut alors se demander si c'est une bonne chose de l'avoir relâché de manière absolue, ce qui n'est peut-être pas idéal du point de vue de la sécurité (voir ce lien.)
  • Du coup, c'est pour ça que j'ai un peu insisté sur ma réponse initiale, car j'ai la sensation qu'elle évite d'avoir à bidouiller ce paramètre. Une manière de s'en assurer serait de remettre ton paramètre à sa valeur d'origine puis faire le test.

Bonne chance

1

Bonjour,

Oui vous avez vu : j'y avais pensé mais comme j'étais dans la m****, je voulais avancer coute que coûte; donc j'ai pris ce qui me dépannais sur le coup. D'accord je vais remettre les choses dans l'ordre et vous tiendra informé.

Merci encore.

Cordialement,

0