Dans mon dossier de projet, j'ai créé le dossier venv.
python -m venv venv
Lorsque je dans VS Code exécutez la commande, select python interpreter mon dossier venv ne s'affiche pas. Je suis monté d'un niveau comme suggéré ici mais VS Code ne voit pas mon interprète virtuel.
Qu'est-ce que j'ai raté?
12 Réponses :
Avez-vous activé votre environnement? Vous pouvez également essayer ceci: vscode select venv
Lorsque je lance activate dans le terminal cmd dans VS Code, il est activé. Cependant, je dois changer l'interpréteur dans l'interface graphique VS Code pour que mes importations soient reconnues.
PS:
J'utilise vs code depuis un certain temps maintenant et j'ai trouvé un autre moyen d'afficher les environnements virtuels dans vs code.
Accédez au dossier parent dans lequel venv trouve via l'invite de commande.
Tapez le code . et entrez. [Travailler sur Windows et Linux pour moi.]
Cela devrait également montrer les environnements virtuels présents dans ce dossier.
Réponse originale
Je rencontre presque le même problème à chaque fois que je travaille sur VS-Code en utilisant venv. Je suis les étapes ci-dessous, j'espère que cela aide:
Allez dans File > preferences > Settings .
Cliquez sur Workspace settings de Workspace settings .
Sous Files:Association , dans la section JSON: Schemas , vous trouverez Edit in settings.json , cliquez dessus.
Mettez à jour "python.pythonPath": "Your_venv_path/bin/python" dans les paramètres de l'espace de travail. (Pour Windows): Mettez à jour "python.pythonPath": "Your_venv_path/Scripts/python.exe" dans les paramètres de l'espace de travail.
Redémarrez VSCode en cas s'il n'affiche toujours pas votre venv.
Mon fichier venv contient des dossiers Include, Lib and Scripts . J'ai mis à jour settings.json , mais pas de chance "python.pythonPath": "PrintPython\\venv\\Scripts\\python" . PrintPython est mon fichier de projet dans l'espace de travail Python. venv dossier venv est dans PrintPython .
@HrvojeT; Vous devez suivre ces étapes dans VSCode.
Bien sûr, je les ai suivis. Pas de chance.
Je suppose que vous utilisez Windows. Pour Windows, utilisez le chemin complet: "python.pythonPath": "c:/sam/venv/Scripts/python.exe" ou quel que soit votre venv. Utilisez ce lien pour référence: code.visualstudio.com/docs/python/environments
Ok, je l'ai fugué. Dans un dossier d'espace de travail nommé Python j'ai ajouté tous mes autres projets. Je devrais donc n'avoir qu'un seul venv pour le dossier d'espace de travail Python . J'ai supprimé le dossier Python de l'espace de travail et ajouté chaque sous-dossier dans le dossier Python en tant que projet d'espace de travail comme Project1 , Project2 etc. Dans ce dossier Project , j'ai créé l'environnement venv et modifié settings.json pour l'espace de travail avec ce "python.venvPath": "venv" . Maintenant, pour chaque nouveau projet, je vais créer un nouvel espace de travail et à l'intérieur de ce dossier se venv dossier venv qui sera automatiquement reconnu.
@HrvojeT: Super ..! Je ne sais pas si c'est la meilleure solution que vous avez mentionnée, mais c'est bien si cela fonctionne pour vous.
J'ai ajouté une réponse qui est simple et n'implique pas de modifier les fichiers de configuration
Oui, vous ne devriez pas avoir à vous donner autant de peine pour que VS Code reconnaisse votre environnement virtuel. Le dossier se trouve juste là dans le répertoire dans lequel vous avez ouvert VS Code. L'équipe VS Code devrait résoudre ce problème si elle souhaite vraiment prendre en charge Python. Cela ne peut pas être si difficile.
La mise à jour devrait être la section principale de la réponse imo
Si vous utilisez les paramètres JSON, vérifiez le fichier settings.json dans votre espace de travail. Mon vscode a ajouté automatiquement pythonPath , donc lors de sa modification globale, il n'a rien fait.
J'ai eu le même problème et c'était parce que PowerShell n'était pas mis à jour. Parfois, Windows conserve la version 2. * et j'ai dû télécharger et installer manuellement la version 3. Une fois ce problème résolu, j'ai pu très bien utiliser les environnements virtuels.
Qu'est-ce que PowerShell version 3 a ajouté / modifié qui a résolu le problème d'origine?
J'avais le même problème jusqu'à ce que je découvre que j'essayais de rendre mon répertoire de projet et l'environnement virtuel identiques - ce qui n'est pas correct.
J'ai un répertoire \Code\Python où je stocke tous mes projets Python. Mon installation Python 3 est sur mon chemin.
Si je veux créer un nouveau projet Python (Project1) avec son propre environnement virtuel, alors je fais ceci:
python -m venv Code\Python\Project1\venv
Ensuite, la simple ouverture du dossier (Projet1) dans Visual Studio Code garantit que l'environnement virtuel correct est utilisé.
Ceci est un ajout à la réponse @Sam qui, bien que correcte, manque le fait que chaque fois que vous ouvrez un dossier dans le code de Visual Studio, il crée un dossier .vscode, mais ceux-ci peuvent être multiples, créés chaque fois que vous ouvrez éventuellement un répertoire. Le dossier .vscode contient des objets JSON qui contiennent des propriétés telles que "setting.json", dans lequel on déclare l'interpréteur à utiliser à ce niveau ".vscode" (reportez-vous à ceci pour plus de précisions Qu'est-ce qu'un 'espace de travail' dans VS Code? ) .
{
{
"python.pythonPath": "VirtualEnPath/bin/python3.6"
}
}
Donc, potentiellement, vous pourriez ouvrir le code VS à un autre niveau dans l'environnement virtuel, cela crée un autre dossier .vscode qui assume comme répertoire Python ceux de la machine globale et donc avoir une telle erreur, et je n'ai rien à faire si l'environnement virtuel est activé ou non.
C'est bien ce qui m'est arrivé, j'ai en effet un dossier DjangoRESTAPI_GEN dans lequel j'ai initialement ouvert l'EDI et il a reconnu le chemin Virtual Env Python, quelques jours après que je l'ai ouvert au niveau où se trouve git, il en a donc créé un autre .vscode, qui a choisi l'interpréteur Python global, ce qui a fait que ma charpie dans l'environnement virtuel n'a pas été utilisée, et l'interpréteur d'environnement virtuel n'a même pas été affiché dans "select python interpreter". Mais comme écrit en ouvrant l'EDI au niveau où le .vscode qui a le settings.json avec le chemin correct, c'est le cas.
Une fois que vous avez défini le chemin correct dans le fichier setting.json et sélectionné l'interpréteur d'environnement virtuel, VS Code activera automatiquement le VE dans son terminal
Beaucoup ont mentionné la méthode python.pythonPath .
Une autre façon consiste à ajouter un envFile dans le launch.json comme ceci:
{
"name": "Run",
"etc": "etc",
"envFile": "${workspaceFolder}/venv"
}
C'est utile, ${workspaceFolder} - littéralement ce que je veux. Ne pensez pas que le chemin absolu a du sens si vous définissez un espace de travail pour un environnement virtuel, qui ne s'applique qu'au projet.
J'ai résolu le problème sans changer le chemin python car cela ne me semblait pas être la bonne solution. La solution suivante a fonctionné pour moi, j'espère qu'elle fonctionne aussi pour vous :))
Activez votre virtualenv (en utilisant la source activate / activate.bat / activate.ps1 si vous utilisez Power Shell)
C:\Users\<myUserName>\Videos\myFolder>django-project\Scripts\activate.bat (django-project) C:\Users\<myUserName>\Videos\myFolder>
Accédez au répertoire de votre projet et ouvrez-y vscode.
(django-project) C:\Users\prash\Videos\myFolder\projects>code .
dans VS Code, allez dans Fichier -> Préférences -> Paramètres (ne vous inquiétez pas, vous n'avez pas besoin d'ouvrir le fichier json)
Dans la barre de recherche des paramètres, recherchez virtual / venv et appuyez sur Entrée. Vous devriez trouver ce qui suit dans la barre de recherche:
Python: Venv Folders Dossiers dans votre répertoire personnel pour rechercher les environnements virtuels (prend en charge pyenv, direnv et virtualenvwrapper par défaut).
Ajoutez un élément, puis entrez le chemin des scripts de votre virtuanenv qui contient le fichier d'activation. Par exemple dans mon système, c'est:
C:\Users\<myUserName>\Videos\myFolder\django-project\Scripts\
Enregistrez-le et redémarrez VS Code.
Pour redémarrer, ouvrez à nouveau cmd, accédez au chemin de votre projet et ouvrez vs code. (Notez que votre venv doit être activé dans cmd avant d'ouvrir vs code à partir de cmd)
Commande pour ouvrir vs code à partir de cmd:
code .
J'ai eu le même problème et la solution était assez simple:
"Si vous créez un nouvel environnement conda pendant que VS Code est en cours d’exécution, utilisez la commande Recharger la fenêtre pour actualiser la liste d’environnement affichée avec Python: Sélectionnez Interpréteur. Sinon, vous risquez de ne pas voir l’environnement. vous ne le voyez pas au début, attendez 15 secondes, puis réessayez d'utiliser la commande. "
C'est écrit sur le site Vscode
Remarque: pour recharger la fenêtre: ctrl + shift + p dans Vscode, puis écrire la fenêtre de rechargement
Il existe une extension VSCode appelée "Python Auto Venv" qui détecte et utilise automatiquement votre environnement virtuel s'il y en a un.
Avec une version plus récente de VS Code, c'est assez simple.
Ouvrez VS Code dans le dossier de votre projet.
Ensuite, ouvrez Python Terminal (Ctrl-Shift-P: Python: Créer un terminal)
Dans le terminal:
python -m venv .venv
vous verrez alors la boîte de dialogue suivante: 
cliquez sur Yes
Puis Python: Select Interpreter (via Ctrl-Shift-P)
et sélectionnez l'option (dans mon cas vers le bas)
Python 3.7 (venv) ./venv/Scripts/python.exe
Si tu vois
Activate.ps1 n'est pas signé numériquement. Vous ne pouvez pas exécuter ce script sur le système actuel.
vous devrez effectuer les opérations suivantes: https://stackoverflow.com/a/18713789/2705777
Pour plus d'informations, voir: https://code.visualstudio.com/docs/python/environments#_global-virtual-and-conda-environments
Merci d'avoir fourni une réponse mise à jour. Cela devrait être considéré comme la nouvelle solution acceptée.
est le "." devant le "venv" exigent pour vsc de reconnaître automatiquement le dossier de l'environnement virtuel? Je nomme toujours le mien "venv" (pas de point au début). Merci.
Dans vscode, sélectionnez le dossier et créez WS et cela fonctionnera bien
La question est de savoir comment créer un nouvel environnement virtuel dans VSCode, c'est pourquoi indiquer la solution Anaconda suivante peut ne pas être la réponse nécessaire à la question. C'est juste pertinent pour les utilisateurs d'Anaconda.
Créez simplement un venv en utilisant conda, voir ici . Ensuite, ouvrez VSCode et cliquez avec le bouton gauche sur l'interpréteur VSCode affiché dans VSCode en bas à gauche:
Choisissez un environnement virtuel qui apparaît dans une liste déroulante de la fenêtre des paramètres, et vous avez terminé. Faites attention à la réponse de @RamiMa.