89 votes

Utiliser virtualenv avec Python avec Visual Studio Code dans Ubuntu

J'ai un projet Python et la navigation/complétion automatique fonctionne parfaitement dans les fichiers du projet. Je veux spécifier un virtualenv afin que la navigation et la complétion automatique fonctionnent avec les paquets à l'intérieur de ce virtualenv.

J'ai essayé cela dans settings.py, mais la navigation/autocomplétion ne fonctionne pas. De même, en définissant "python.pythonPath":"~/dev/venvs/proj/bin/python a tué la navigation/autocomplétion originale.

{
    "editor.rulers": [80,100],
    "python.autoComplete.extraPaths": [
        "~/dev/venvs/proj",
        "~/dev/venvs/proj/lib"
     ]
}

0 votes

Un ensemble comme celui-ci fonctionne également, si vous ne voulez pas vous embêter avec les paramètres : #!bin/python3

0 votes

youtu.be/6YLMWU-5H9o?t=550 ici Dan Taylor explique comment lancer virtualenv dans vscode

0 votes

Pour la dernière version de Code, j'ai juste cliqué sur l'interpréteur python en bas à gauche, puis il y avait la palette de commande en haut au milieu, sélectionnez Enter path to a Python interpreter, puis sélectionnez Find... puis find in ~/your venv path/bin/python, j'ai python3.8

99voto

Don Points 3869

Avec les dernières mise à jour de l'extension il vous suffit de spécifier le "python.pythonPath" comme suit.

Les valeurs pour "python.autoComplete.extraPaths" sera déterminé lors de l'exécution, mais vous êtes toujours libre d'y spécifier des chemins personnalisés.

N'oubliez pas de redémarrer Visual Studio Code une fois que les changements nécessaires ont été effectués.

{
    "editor.rulers": [80,100],
    "python.pythonPath":"~/dev/venvs/proj/bin/python"
}

2 votes

Pour info, j'ai dû utiliser un chemin absolu, au moins pour pylint.

6 votes

Vous voulez dire dans les paramètres de l'espace de travail ? Existe-t-il un moyen de configurer la préférence uniquement pour un sous-arbre de mon espace de travail ?

3 votes

Pouvez-vous faire cela par projet ?

93voto

Daniel F. Points 1434

En septembre 2016 (selon le Documentation du dépôt GitHub de l'extension ), vous pouvez simplement exécuter une commande à partir de Visual Studio Code qui vous permettra de sélectionner l'interpréteur à partir d'une liste automatiquement générée d'interpréteurs connus (y compris celui de l'environnement virtuel de votre projet).

Comment puis-je utiliser cette fonction ?

  • Sélectionnez la commande Python: Select Workspace Interpreter (*) de la palette de commandes (F1).

  • En sélectionnant la commande ci-dessus, une liste des interprètes découverts sera affichée dans une fenêtre quick pick liste.

  • Sélection d'un interprète dans cette liste mettra à jour le fichier settings.json automatiquement .

(*) Cette commande a été mise à jour a Python: Select Interpreter dans la dernière version de Visual Studio Code (merci @nngeek).

Notez également que l'interprète que vous avez sélectionné sera affiché à gauche de la barre d'état, par exemple, Python 3.6 64 bits . Il s'agit d'un bouton que vous pouvez cliquer pour déclencher la Sélectionner l'interprète fonction.

3 votes

Ce qui est triste, c'est qu'il ne me permet pas d'ajouter un nouvel interprète à la liste... est-ce même possible ?

0 votes

@genuinefafa Je ne m'y connais pas beaucoup en code, mais dans la documentation du dépôt que j'ai liée, il est indiqué que les interprètes sont découverts en cherchant dans les chemins standards (/usr/local/bin, /usr/sbin, /sbin), les environnements virtuels sous le projet actuel et les environnements Conda. Vous pourriez peut-être ajouter votre interpréteur à l'un de ces emplacements afin qu'il soit détecté automatiquement. Mais je ne fais que supposer.

0 votes

C'est une bonne idée @DanielF. Je résous le problème en configurant manuellement les répertoires pointant vers l'environnement du projet. Le site $PATH idée n'a pas fonctionné (en fait, c'est ce qu'un workon script devrait faire l'affaire). Ceci a été testé il y a quelques semaines, je ne suis pas sûr qu'ils le résolvent dans les nouvelles versions.

37voto

DingLi Points 535

Assez simple avec la dernière version de Visual Studio Code, si vous avez installé l'extension Python officielle pour Visual Studio Code :

Shift + Command + P

Type : Python : Sélectionner l'interpréteur

Choisissez votre environnement virtuel.

Site officiel

14 votes

Malheureusement, cette commande ne parvient pas à lister les envs virtuels locaux.

0 votes

@Antonin J'ai testé sur mon vscode sur la dernière version, cela fonctionne. Etes-vous sous mac ou autre système, et quelle est votre erreur ?

1 votes

En effet, sur un Mac, merci @DingLi, cela a fonctionné après la mise en place de ce : "python.venvFolders": [ "${rootPath}", "envs", ".pyenv", ".direnv" ],

35voto

ssword Points 393

Avec la dernière extension Python pour Visual Studio Code, il existe un paramètre venvPath :

// Path to folder with a list of Virtual Environments (e.g. ~/.pyenv, ~/Envs, ~/.virtualenvs).
  "python.venvPath": "",

Sur Mac OS X, allez dans Code Préférences Paramètres et descendez jusqu'à Configuration de Python .

Cherchez "python.venvPath: "", et cliquez sur le crayon sur le côté gauche pour ouvrir vos paramètres d'utilisateur. Enfin, ajoutez le chemin d'accès à l'endroit où vous stockez vos environnements virtuels.

Si vous utilisez virtuanenvwrapper, ou si vous avez placé tous les paramètres de votre environnement virtuel dans un seul dossier, c'est celui qu'il vous faut.

Après avoir configuré "python.venvPath" , redémarrer Visual Studio Code. Ensuite, ouvrez la palette de commande et recherchez "Python : Select Interpreter". À ce stade, vous devriez voir l'interpréteur associé à l'environnement virtuel que vous venez d'ajouter.

13voto

pm.calabrese Points 366

Une autre façon est d'ouvrir Visual Studio Code à partir d'un terminal avec le virtualenv défini et de devoir effectuer F1 Python: Select Interpreter et sélectionnez le virtualenv requis.

virtualenv

8 votes

Cela ne semble pas fonctionner pour moi. Je dois avoir le fichier de paramètres. Y a-t-il quelque chose qui m'échappe ?

1 votes

J'ai utilisé cette méthode avec succès mais j'ai dû faire code -a .

1 votes

Cela m'a permis d'obtenir le bon interpréteur python, mais cela n'a pas trouvé le reste de mon venv. L'ajout du nom de mon répertoire venv "ve" à python.venvFolders a réglé 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