web-dev-qa-db-fra.com

Utiliser Virtualenv avec Python avec Visual Studio Code dans Ubuntu

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

J'ai essayé ceci dans settings.py mais navigation/autocomplete ne fonctionne pas. Également en réglant "python.pythonPath":"~/dev/venvs/proj/bin/python, la navigation/complétion automatique d'origine a été supprimée.

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

Avec la dernière mise à jour de l'extension , il vous suffit de spécifier le "python.pythonPath" comme suit. Les valeurs de "python.autoComplete.extraPaths" seront déterminées lors de l'exécution, mais vous êtes toujours libre de spécifier des chemins personnalisés.

N'oubliez pas de redémarrer VS Code une fois que les modifications nécessaires ont été apportées.

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

À partir de septembre 2016 (selon la documentation de l'extension Github repo ), vous pouvez simplement exécuter une commande à partir de vscode qui vous permettra de sélectionner l'interpréteur à partir d'une liste générée automatiquement d'interprètes connus (y compris celui dans l'environnement virtuel de votre projet).

Comment utiliser cette fonctionnalité?

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

  • Lors de la sélection de la commande ci-dessus, une liste d'interprètes découverts sera affichée dans une liste quick pick.

  • Si vous sélectionnez un interprète dans cette liste , le fichier settings.json sera automatiquement mis à jour .

(*) Cette commande a été mise à jour en Python: Select Interpreter dans la dernière version de VSC (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. C’est un bouton sur lequel vous pouvez cliquer pour déclencher la fonction de sélection d’un interprète.

90
Daniel F.

Assez simple avec le dernier VSCode, si vous avez installé extension officielle Python pour VSCode

Shift + Command + P

Type: Python: Sélectionnez un interpréteur

Choisissez votre env virtuel.

Site officiel

33
DingLi

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, accédez à Code > Preferences > Settings et faites défiler jusqu'à Configuration Python.

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

Si vous utilisez virtuanenvwrapper, ou si vous avez mis tous vos paramètres d’env virtuel dans un dossier, ce sera celui qui vous convient.

Une fois que vous avez configuré "python.venvPath", redémarrez VSC. Ouvrez ensuite la palette de commandes et recherchez "Python: Sélectionnez un interpréteur". À ce stade, vous devriez voir l'interpréteur associé à l'environnement virtuel que vous venez d'ajouter.

31
ssword

Une autre méthode consiste à ouvrir le VSC à partir d’un terminal avec l’ensemble virtualenv et à effectuer F1 Python: Select Interpreter et sélectionnez virtualENV requis

virtualENV

13
pm.calabrese

Réponse provisoire. Je mets le chemin absolu de l'environnement virtuel python exécutable ainsi que les packages. J'ai ensuite redémarré le code VS.

J'essaie d'obtenir $ {workspaceRoot} pour éviter le codage en dur des chemins absolus. Aidez-moi si vous avez réussi.

{
    "editor.rulers": [80,100],
    "python.pythonPath": "/home/jesvin/dev/ala/venv/bin/python",
    "python.autoComplete.extraPaths": [
        "/home/jesvin/dev/ala/venv/lib/python2.7",
        "/home/jesvin/dev/ala/venv/lib/python2.7/site-packages"
     ]
}
6
Jesvin Jose

J'ai pu utiliser le paramètre d'espace de travail demandé par d'autres personnes sur cette page.

Dans Préférences, + P, recherchez python.pythonPath dans la barre de recherche.

Vous devriez voir quelque chose comme:

// Path to Python, you can use a custom version of Python by modifying this setting to include the full path.
"python.pythonPath": "python"

Cliquez ensuite sur l'onglet PARAMÈTRES D'ESPACE DE TRAVAIL situé dans la partie droite de la fenêtre. Cela fera en sorte que le paramètre ne s'applique qu'à l'espace de travail dans lequel vous vous trouvez.

Ensuite, cliquez sur l'icône en forme de crayon à côté de "python.pythonPath". Cela devrait copier le paramètre sur les paramètres de l'espace de travail.

Changez la valeur en quelque chose comme:

"python.pythonPath": "${workspaceFolder}/venv"
4
Charlie Le

a) Modifiez le paramètre de chemin d’env virtuel par défaut du code Visual Studio. Cela s'appelle "python.venvPath". Vous faites cela en allant dans code-> paramètres et faites défiler vers le bas pour python paramètres.

b) Redémarrez le code VS

c) Maintenant, si vous faites Shift + Command + P et tapez Python: Sélectionnez un interpréteur, vous devriez voir la liste de vos environnements virtuels.

2
Ajay K

Sous Mac OSX, avec la version de code 1.34.0 (1.34.0), je devais procéder comme suit pour que VSCode reconnaisse les environnements virtuels:

Emplacement de mon environnement virtuel (nommé ml_venv):

/Users/auser/.pyvenv/ml_venv

auser@Host:~/.pyvenv$ tree -d -L 2
.
└── ml_venv
    ├── bin
    ├── include
    └── lib

J'ai ajouté l'entrée suivante dans Settings.json: "python.venvPath": "/Users/auser/.pyvenv"

J'ai redémarré l'IDE et je pouvais maintenant voir l'interpréteur depuis mon environnement virtuel: enter image description here

1
b.sodhi

Semble être (à compter de 2018.03) dans code-initié, une directive appelée python.venvFolders a été introduite:

  "python.venvFolders": [
    "envs",
    ".pyenv",
    ".direnv"
  ],

Tout ce dont vous avez besoin est d'ajouter votre nom de dossier virtualenv.

1
holms

Je l'ai obtenu de Configuration de Youtube Python VS ... Venv

OK, la vidéo ne m'a pas vraiment beaucoup aidé, mais ... le premier commentaire sous (par la personne qui a posté la vidéo) a beaucoup de sens et est de l'or pur.

En gros, ouvrez le terminal intégré de VS. Ensuite, source <your path>/activate.sh, comme vous le faites habituellement, à partir de la ligne de commande. J'ai une fonction bash prédéfinie pour trouver et lancer le bon fichier de script, ce qui a parfaitement fonctionné.

Citant que YT commentaire directement (tout crédit à aneuris ap ):

(vous n'avez vraiment besoin que des étapes 5 à 7)

1- Open your command line/terminal and type pip virtualenv.
2. Create a folder in which the virtualenv will be placed .
3. cd to the script folder in the virtualenv and run activate.bat (CMD).
4. deactivate to turn of the virtualenv (CMD).
5. open the project in VS Code  and use its built-in terminal to cd to the script folder in you virtualenv.
6. type source activates (in vs code I use the git terminal).
7. deactivate to turn off the virtualenv.

Comme vous le remarquerez peut-être, il parle de activate.bat. Donc, si cela fonctionne pour moi sur un mac, et pour Windows aussi, il est fort probable qu'il soit assez robuste et portable. ????

0
JL Peyret

Je cours sous Windows et vous pouvez trouver l’instruction sur https://code.visualstudio.com/docs/python/environments En gros, procédez comme suit "Pour sélectionner un environnement spécifique, utilisez Python: Sélectionnez la commande Interprète dans la palette de commandes (Ctrl + Maj + P). " Ensuite, tapez Python: S et cliquez sur l’interprète sélectionné, puis choisissez l’image que vous avez créée.

0
JCQian