Skip to content
Advertisement

How can I debug Python 3 code in Visual Studio Code?

I want to debug a project written in Python 3 in Visual Studio Code, but I can’t seem to find any way of specifying interpreter or Python version in the launch.json file.

It works great for Python 2, so the question is, how do I make it work for Python 3?

Advertisement

Answer

Python 3 debugging works well also. It is a little confusing as there are two different places to specify the path: settings.json and launch.json.

I recommend using Don Jayamanne’s Python Extension. After installing it, you have to configure the path to the interpreter you want to use it with.

Python Version used for Intellisense, autocomplete, linting, formatting, etc.

The same Python interpreter is used for intellisense, autocomplete, linting, formatting, etc. (everything other than debugging). The standard interpreter used is the first Python interpreter encountered in the current path. If a different version is to be used, this can be configured in one of two ways:

Configure the path to the python interpreter in the User Settings file (settings.json) as follows. Ensure to specify the fully qualified name of the python executable. “python.pythonPath”: “c:/python27/python.exe”

Configure the path to the Python interpreter in the Workspace Settings file (settings.json) as follows. Ensure to specify the fully qualified name of the Python executable. “python.pythonPath”: “c:/python27/python.exe” Python Version used for debugging

Details on configuration settings for debugging can be found here Debugging. Simply provide the fully qualified path to the python executable in the “python” setting within the configuration settings in the launch.json file as follows:

{
    "name": "Python",
    "type": "python",
    "request": "launch",
    "stopOnEntry": true,
    "program": "${file}",
    "pythonPath": "c:/python27/python.exe",
    "debugOptions": [
        "WaitOnAbnormalExit",
        "WaitOnNormalExit",
        "RedirectOutput"
    ]
}
User contributions licensed under: CC BY-SA
10 People found this is helpful
Advertisement