Thanks rioV8! After looking into the package.json I've found that the "engines" field is what details the minimum version of VS Code required.
Per code.visualstudio.com (https://code.visualstudio.com/api/working-with-extensions/publishing-extension)
Answer from Gnomerspell on Stack OverflowVisual Studio Code compatibility
When authoring an extension, you will need to describe what is the extension's compatibility to Visual Studio Code itself. This can be done via the engines.vscode field inside package.json:
{ "engines": { "vscode": "^1.8.0" } }
A value of 1.8.0 means that your extension is compatible only with VS Code 1.8.0. A value of ^1.8.0 means that your extension is compatible with VS Code 1.8.0 and onwards, including 1.8.1, 1.9.0, etc.
You can use the engines.vscode field to make sure the extension only gets installed for clients that contain the API you depend on. This mechanism plays well with the Stable release as well as the Insiders one.
For example, imagine that the latest Stable version of VS Code is 1.8.0 and that during 1.9.0's development a new API is introduced and thus made available in the Insider release through version 1.9.0-insider. If you want to publish an extension version that benefits from this API, you should indicate a version dependency of ^1.9.0. Your new extension version will be installed only on VS Code greater than or equal to 1.9.0, which means all current Insider customers will get it, while the Stable ones will only get the update when Stable reaches 1.9.0.
How do I install an older version of an extension?
visual studio code - How to install previous version of Python extension for VSCode - Stack Overflow
Unable to install extension 'ms-python.python' as it is not compatible with VS Code '1.77.3'.
versioning - Determine Visual Studio Code extension compatibility without VSIX download - Stack Overflow
Videos
My Python debugger is broken (I am using Python 3.6, I can't change it because this isn't my project) since it only supports Python 3.7+. "The debugger in the python extension no longer supports python versions minor than 3.7."
I've heard that debugpy exists and theoretically supports Python 3.6, but I have no idea how to use it (how is it different from the base Python Debugger in vscode). I currently have Python Debugger v2024.0.0 installed, and its description is "Python Debugger extension using 'debugpy'" but it won't let me debug my Python 3.6 code. I tried installing an older version, but when I navigate to that option, it only shows me 2024.0.0 (current) and no other options. Seeing other people do it (with other extensions at least), they have hundreds of options, from like every single month.
I have no idea what to do, I don't use extensions besides the debugger so I have no idea what's going on. I turned off auto-updates and set it to manual, but I haven't been able to fix it.
Has anyone been able to debug Python 3.6 in VSCode, and if so, how?
You need to install it from a .vsix file. You can find them here.
Download the .vsix file of the version you want. You may have to click assets to see them.
Then open VSCode, go to extensions -> click on the three dots -> install from vsix and select your file.
To install the .vsix you can also use the command
code --install-extension ms-python-release.vsix

sources :
- How can I install Visual Studio Code extensions offline?
- https://code.visualstudio.com/docs/editor/extension-gallery#_install-from-a-vsix
This can be done using "Install Another Version" option available with VS Code extension store.
- Go to extensions.
- Click on Gear Icon for the installed extension
- Click on Install Another Version
- And select the version you wish to install

According to their documentation, if you link to what "a supported Python", is, the requirements are "whichever version of Python you want to use". And they explicitly include:
- The built-in Python installation on Linux.
- An installation through Homebrew on macOS using
brew install python3(the system install of Python on macOS is not supported). - A download from python.org.
- A download from Anaconda (for data science purposes).
Of course python.org has versions all the way back to 0.9.1, although I suspect anything older than the 2.0.1 in the main downloads doesn't really count.
More realistically, they probably only test with current Python versions, which as of right now means 2.7, 3.5, 3.6, and maybe 3.7 prereleases. If you wanted to use 2.5 or 3.3, you might well get syntax highlighting and error fly-checking based on 2.7 or 3.5 grammar, etc. But actually running your code should still work.
Also, if you're on a Mac and thinking of Homebrew, it's worth noting that brew install python3 will give you an error; the package is just called python now, and you install python for 3.x and python@2 for 2.x.
Microsoft's Python Extension for VS Code actually let you select an interpreter from a list of detected or manually set environments (CMD-Shift-P/Ctrl-Shift-P -> Python: Select Interpreter), so it should work with latest version of any interpreter, as long as is supported by the OS (remember that VS Code and its extensions are hosted in Electron). Source
Under the
Viewmenu selectCommand Palette... F1(or press F1 key).Type
Python: Select Interpreter.Choose which Python version to use by default [1].
[1] You can safely disregard the "Recommended" hint, which is usually the bare bones system one, without access to your custom packages.
Several of the answers here explain good approaches, but below are my top 2 recommendations.
1) Bottom Screen Navigation (ease of access)
- I find this the quickest approach; however, it isn't always available for first-time users. If you're already using Python in VS Code, this is usually the easiest way to reach the Python: Select Interpreter menu. On the bottom left of your screen, look for "Python X.X.X". This is the currently detected/configured version of Python for your project, and clicking it brings you to the interpreter menu to change the Python version you're using. At the time of writing, I was using Python 3.9.1 as seen in the snippet below:

2) Command Palette
- As @jmh denoted in his answer, you can also use the 'View' tab to navigate to the Command Palette. In the Command Palette, search for Python: Select Interpreter to bring about the same menu denoted above.
If you're still having issues, there's also a VS Code Getting Started guide that walks you through setting up Virtual Environments and/or choosing different interpreters for Python that support the desired language: https://code.visualstudio.com/docs/python/python-tutorial
Happy coding!
