7
votes

VS Code: l'interpréteur Python ne trouve pas mon venv

Je suis coincé là-dessus depuis quelques jours, aidez-moi si vous le pouvez.

J'ai mon dossier venv sur mon dossier de projet racine. Lorsque j'essaie de définir l'interpréteur Python, il ne me montre que le Python installé sur ma machine et non celui de mon dossier racine.

Cela fonctionnait bien jusqu'à ce que je formate mon PC et installe Windows 10 64 bits. (fonctionnait sous Windows 7 64 bits avant)

Choses que j'ai essayées:

  • Définissez le chemin manuellement via pythonPath et / ou venvPath , à la fois dans l'espace de travail et dans les paramètres utilisateur:
    "python.pythonPath": "F:/Web Dev/Python/Django/project_x_v2/backend/venv/Scripts/python.exe",
    "python.venvPath": "F:/Web Dev/Python/Django/project_x_v2/backend/venv/Scripts/python.exe",

entrez la description de l'image ici

Il me montre l'emplacement correct dans l'espace réservé mais je n'ai pas la possibilité de le choisir dans la liste déroulante:

entrez la description de l'image ici

Des idées pour résoudre ce problème?

Merci beaucoup.

ÉDITER:

  • Dans l'image, il montre "python", mais je l'ai corrigé en "python.exe" et cela ne fonctionne toujours pas;
  • ~\AppData\... se trouve sur le disque C: \ tandis que mon venv se trouve sur le disque F :. Je ne sais pas si cela est pertinent cependant;
  • Le venv fonctionne bien dans la console.


4 commentaires

Les barres obliques sont inversées, dans la configuration si vous regardez le chemin d'environnement proposé (~ \ AppData \ ...), vous avez des barres obliques inverses "\" ce qui est normal pour Windows, mais dans votre configuration, vous utilisez des lettres de lecteur + barre oblique "/ ", commun pour unix. Je n'ai pas la main sur un PC Windows maintenant mais j'essaierai mal de le reproduire plus tard et de notifier les résultats.


Je l'ai essayé avec les deux types de barres obliques. Pas de chance. La seule façon de le faire fonctionner était de supprimer le venv et de le recréer. (veuillez vérifier la réponse acceptée)


J'ai lu la réponse acceptée, cela semble exagéré ...


Dans ce cas précis, je n'ai trouvé aucune autre solution, donc ce n'était pas une question de choix. Je ne suis pas d'accord, ce n'est pas exagéré, cela ne prend pas plus de 2 minutes pour supprimer un ancien venv, installer des dépendances et le recréer.


3 Réponses :


5
votes

Supprimez le "python.venvPath" (il ne fait pas ce que vous semblez penser qu'il fait), ne spécifiez pas ces paramètres dans vos paramètres utilisateur et modifiez votre "python.pythonPath" pour qu'il soit relatif à votre projet, par exemple :

"python.pythonPath": "venv/Scripts/python.exe"


2 commentaires

Pas de chance. J'ai supprimé venvPath et ajouté uniquement pythonPath à la fois à Workspace et aux paramètres utilisateur, mais toujours le même. EDIT: Il convient de noter que j'ai redémarré à la fois VS Code et mon ordinateur.


N'importe quelles autres suggestions sont les bienvenues. Je peux fournir toute information supplémentaire si nécessaire.



8
votes

La seule solution que j'ai trouvée était de supprimer le venv et de le recréer. J'ai suivi ces étapes mais je vais fournir un bref résumé pour Windows:

  1. Activez votre virtualenv. Accédez au dossier parent où se trouve votre environnement virtuel et exécutez venv\scripts\activate . Gardez à l'esprit que le prénom «venv» peut varier.
  2. Créez un fichier requirements.txt. pip freeze requirements.txt
  3. deactivate pour quitter le venv
  4. rm venv pour supprimer le venv
  5. py -m venv venv pour en créer un nouveau
  6. pip install -r requirements.txt pour installer les exigences.

0 commentaires

0
votes

Cela devrait le réparer:

Allez dans File > preferences > Settings.

Cliquez sur Paramètres de l'espace de travail.

Cliquez sur the document symbol at the top right corner to edit setting.json

Mettre à jour "python.pythonPath": "Your_venv_path/bin/python"

C'est tout pour Ubuntu.

Cependant, for Windows user, under workspace settings: Update "python.pythonPath": "Your_venv_path/Scripts/python.exe" under workspace settings.

Redémarrez Vscode.

Bon codage!


0 commentaires