Skip to content

Python Path and Version

Don Jayamanne edited this page Aug 5, 2016 · 18 revisions

Python Path and Version

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 specific version is to be used, then configure the path to the python interpreter in the User or Workspace Settings file (settings.json) as follows.
Ensure to specify the fully qualified name of the python executable (Mac and Linux supported).

"python.pythonPath": "c:/python27/python.exe"

Virtual Environments

There are two approaches to to getting this extension working in a particular Virtual Environment.

Option 1: Ensure the path to the python interpreter is set in python.pythonPath as defined previously.

Note: Do remember to configure the pythonPath in launch.json as well.

{
    "python.pythonPath": "/home/xxx/dev/ala/venv/bin/python"
}

Finally, restart VS Code, necessary for intellisense to work (future release will not require a restart)
Ensure the libraries/modules you plan on using for linting are also installed within this virtual environment.

Option 2: Activate the Virtual Environment from your Terminal/Command Window and then launch VS Code.

  1. Ensure none of the Python paths are configured in the settings.json file (leave them to their defaults).
  2. Open your terminal (command) window and activate the relevant Python environment
  3. Close all instances of VS Code
  4. Next, launch VS Code from that same terminal (command window) session
(venv) ter@minal:~$ code .

Python Version used for debugging

Details on configuration settings for debugging can be found here Debugging.

Configuring the version of the python executable is no longer necessary.
Provided the setting python.pythonPath in settings.json (see above) has been configured correctly, the debugger will use this same setting.

This is made possible by setting the value of the pythonPath setting to ${config.python.pythonPath}. I.e. the debugger merely references the pythonPath setting from the settings.json file.

{
    "name": "Python",
    "type": "python",
    "request": "launch",
    "stopOnEntry": true,
    "program": "${file}",
    "pythonPath": "${config.python.pythonPath}",
    "debugOptions": [
        "WaitOnAbnormalExit",
        "WaitOnNormalExit",
        "RedirectOutput"
    ]
}
Clone this wiki locally