web-dev-qa-db-fra.com

Comment puis-je déboguer du code Python3 dans Visual Studio Code

Je veux déboguer un projet écrit en python3 dans Visual Studio Code, mais je n'arrive pas à trouver de moyen de spécifier l'interpréteur ou la version python dans le fichier launch.json.

Cela fonctionne très bien pour Python 2, donc la question est, comment puis-je le faire fonctionner pour Python 3?

21
elzapp

Le débogage Python3 fonctionne également bien. C'est un peu déroutant car il y a deux endroits différents pour spécifier le chemin: settings.json et launch.json . Je recommande d'utiliser Don Jayamanne's Python Extension . Après l'avoir installé, vous devez configurer le chemin vers l'interpréteur avec lequel vous souhaitez l'utiliser) .

Version Python utilisée pour Intellisense, Autocomplete, Linting, Formatting, etc.

Le même python est utilisé pour l'intellisense, la saisie semi-automatique, le linting, le formatage, etc. (tout autre que le débogage). L'interpréteur standard utilisé est le premier interpréteur "python" rencontré dans le chemin actuel. Si une version différente doit être utilisée, celle-ci peut être configurée de deux manières:

Configurez le chemin d'accès à l'interpréteur python dans le fichier de paramètres utilisateur (settings.json) comme suit. Veillez à spécifier le nom complet de l'exécutable python. "python.pythonPath": "c: /python27/python.exe"

Configurez le chemin d'accès à l'interpréteur python dans le fichier de paramètres de l'espace de travail (settings.json) comme suit. Veillez à spécifier le nom complet de l'exécutable python. "python.pythonPath": "c: /python27/python.exe" Python Version utilisée pour le débogage

Des détails sur les paramètres de configuration pour le débogage peuvent être trouvés ici Débogage. Fournissez simplement le chemin d'accès complet à l'exécutable python dans le paramètre "python" dans les paramètres de configuration du fichier launch.json comme suit:

{
    "name": "Python",
    "type": "python",
    "request": "launch",
    "stopOnEntry": true,
    "program": "${file}",
    "pythonPath": "c:/python27/python.exe",
    "debugOptions": [
        "WaitOnAbnormalExit",
        "WaitOnNormalExit",
        "RedirectOutput"
    ] }
22
Igor

Comme je ne peux pas commenter la réponse acceptée, je vais copier certains de mes réponse dans une question similaire.

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

Exécuter:

Python: Select Workspace Interpreter

Mise à jour Cette commande a été mise à jour pour:

Python: Select Interpreter

dans la palette de commandes (F1 pour Windows, Ctrl + Maj + P pour MacOS).

Sélectionnez ensuite l'un des interprètes python affichés dans une liste déroulante. Et c'est tout. Vos settings.json seront modifiés automatiquement pour pointer vers l'interpréteur que vous avez sélectionné.

Source: documentation de l'extension de Don Jayamanne sur Github

32
Daniel F.

Nous pouvons configurer le débogage en python3 dans settings.json:

Fichier> Préférences> Paramètres (~/.config/Code/User/settings.json) [Paramètres utilisateur]

{
  ...
  "python.pythonPath": "python3",
}

Vérifiez également que le fichier launch.json possède déjà la configuration suivante:

"configurations": [
  {
    "name": "Python: Current File (Integrated Terminal)",
    "type": "python",
    "request": "launch",
    "program": "${file}",
    "console": "integratedTerminal"
  },
  ...
]
2
Revol89

Il y a un déclencheur de paramètre dans le fichier de paramètres:

pour python par défaut (qui est 2,7 pour l'instant)

"python.pythonPath": "python",

pour python3:

"python.pythonPath": "python3",

utilisez la commande follow pour vérifier la version python:

import sys
  print(sys.version)
2
Aleaxandors Cen

Une note supplémentaire pour ceux qui utilisent la distribution anaconda python par continuum analytics; vous pouvez trouver mon expérience utile.

J'utilise l'extension Python de Don Jayamanne et j'exécute la commande "Select Workspace Interpreter"), mais j'ai quand même constaté que je recevais des conseils sur la mauvaise version de python.

Le correctif qui a fonctionné pour moi consistait à installer le package pylint pour anaconda.

conda install -c anaconda pylint
1
John T