How to Check the Python Version on Windows, Linux, and macOS in 2026
Check the Python interpreter your terminal or project uses on Windows, Linux, and macOS, and learn how to identify multiple installations.

Run python --version to see the version of the Python interpreter selected by the python command. python -V does the same thing. On Linux and macOS, you may need python3 --version; on Windows, try py -V if you use the Python launcher or have multiple runtimes.
The command reports the interpreter it finds in the current shell and environment. It does not necessarily tell you every Python installation on the computer, or which interpreter a project uses. For project troubleshooting, check from the same terminal, virtual environment, and command that you use to run the project.
1. The quick version check
Open a terminal and run:

python --version
Typical output looks like Python 3.13.2. Your version may differ. The short form is:
python -V
Python documents -V and --version as options that print the version number and exit. To include additional build information, use two capital V characters:
python -VV
The command name matters. If python is not found, or it selects a different interpreter from the one you intended, try the platform-specific commands below. The spelling python3 is common on Linux and macOS, but executable names depend on how Python was installed and configured.
2. Check Python on Windows
- Open Command Prompt, PowerShell, or Windows Terminal.
- Run
python --versionorpython -V. - If you use the Python launcher, run
py -V. - To list installed runtimes with the current Python Install Manager, run
py list.
python --version
py -V
py list
Current Python documentation recommends python to launch the default runtime and py for scenarios involving multiple runtimes. The launcher can also select a particular version. An active virtual environment can affect interpreter selection, so a check in a project environment may show a different version from a check in a fresh terminal.
Launcher note: Python’s current Windows documentation describes the Python Install Manager. The older launcher documentation is marked deprecated since Python 3.14 and superseded by that guidance. If a command you find in an older tutorial, such as py --list, behaves differently, check which launcher and manager are installed and use the documentation for that installation.
3. Check Python on Linux
Open a terminal and try:
python3 --version
If you normally start your programs with python, check that command instead:
python --version
These commands can select different interpreters. Use the one that matches your project command. For example, if you start a script with python3 app.py, check python3 --version in that same shell.
4. Check Python on macOS
Open Terminal and run the command used for your work. A common check is:
python3 --version
If your project or instructions use python, check that executable too:
python --version
Having a command named python3 does not mean that every tool or project uses it. A virtual environment, IDE, package manager, or project script may select another interpreter. The reliable check is the command your project actually invokes.
5. Identify the interpreter a project is using
A version check describes the interpreter selected by that command in that shell. If a project behaves differently from your terminal check, inspect the interpreter from inside the project context.
Check from the same environment
- Open the terminal you use to run the project.
- Activate the project’s virtual environment if you normally use one.
- Run the exact command used to start the project, followed by its version option where supported.
# Examples: use the command that starts your project
python --version
python3 --version
py -V
Only one of these may be appropriate. Do not assume their results match: each command name can resolve to a different interpreter.
Print version details from a script
To inspect the interpreter that runs a Python program, print sys.version:
import sys
print(sys.version)
Or run the check as a one-line command, replacing python with the executable you want to inspect:
python -c "import sys; print(sys.version)"
This reports details from the interpreter that executed the command. It helps distinguish the project’s runtime from another installation that happens to be available on the same computer.
Compare the command, environment, and result
| What to record | Why it matters |
|---|---|
| Exact command or executable | python, python3, and py may select different runtimes. |
| Shell and active environment | A virtual environment can change which interpreter is selected. |
| Version output | Shows the version for that invocation. |
| Project launch command | Confirms whether the check matches the interpreter actually running the project. |
6. See more than the short version number
Use -VV when you need extra build information:
python -VV
Use the same executable name you use for the program in question. For example, check python3 -VV if that is how you launch it. For a script-level view, sys.version prints information from the active interpreter:
python -c "import sys; print(sys.version)"
The short -V form is usually enough to answer “Which Python version does this command run?” The more detailed forms are useful when investigating build or environment differences.
7. Troubleshooting common problems
| What happens | Likely cause | What to try |
|---|---|---|
python is not recognized or not found |
That command name is not available in the current shell, or its installation is not configured there. | On Windows, try py -V. On Linux or macOS, try python3 --version. Use the executable your project actually invokes. |
| The command reports an unexpected version | The shell resolved the name to a different installation or environment. | Check from the project’s terminal after activating its virtual environment. Compare the exact command and use sys.version from the program. |
python and python3 show different versions |
They select different interpreters. | Run the project with the intended command and check that same command. Avoid substituting one name for another until you know which runtime the project expects. |
py list is not available |
The installed launcher or manager may differ from the current Python Install Manager documentation. | Identify which Windows launcher is installed and consult its matching documentation. The current Install Manager guidance documents py list. |
| The terminal and IDE disagree | The IDE may be configured to use a different interpreter from the terminal’s default. | Check the interpreter selected by the IDE for the project, then run the version check with that interpreter or inside the project’s configured environment. |
| A check works in one terminal but not another | Shell configuration or activated environments can differ. | Repeat the check in the same shell and environment used to run the program. Record the command as well as its output. |
When reporting a Python version problem, include the operating system, exact command, complete output, and whether a virtual environment is active. That information makes it possible to distinguish a missing command from a selection mismatch.
8. Reliability and practical notes
- Check the runtime you mean. A command reports what it selects, not a computer-wide inventory.
- Repeat checks in context. Shells and project environments may resolve commands differently.
- Keep the command with the result. “Python 3.x” alone does not tell someone whether you checked
python,python3, or a launcher. - Use the Windows runtime list when available. The current Install Manager documents
py listfor installed runtimes. - There is no special cost for this check. The version flags print information locally and exit; this task needs no paid service.
9. Or skip the browser setup
Checking a Python version is a local terminal task, so the commands above are the direct way to do it. If your next step involves capturing a website, ScreenshotNeo provides a one-request screenshot API and an MCP server for AI agents. Its API accepts one GET request with a URL and can return PNG, JPEG, WebP, or PDF. See the ScreenshotNeo API documentation.

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
import requests
r = requests.get("https://api.screenshotneo.com/v1/shot", params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"}, timeout=90)
open("shot.webp", "wb").write(r.content)
const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
ScreenshotNeo removes cookie and consent banners, newsletter popups, and chat widgets before capture; each cleanup step can be turned off. Bot checks, blank pages, failed loads, timeouts, and cache hits are not billed, and the response identifies the page verdict and billing status in headers. Its MCP server offers take_screenshot, get_page_info, and capture_pdf for AI agents. The free plan includes 1,000 screenshots a month with no card; paid plans start at $5 for 3,000 shots. All features are on every plan. Learn more about ScreenshotNeo.
Sign up free for 1,000 screenshots a month, with no card required.
10. FAQ
Does --version install or update Python?
No. It prints the version for the selected interpreter and exits.
What does -VV add?
Python documents -VV as printing additional build information alongside the version.
How do I know if Python is installed at all?
Try the command names available for your platform: python, python3, or, on Windows, py. If none runs, the current shell cannot find those commands; that alone does not identify every possible installation on the computer.
Which command should I put in a project guide?
Document the command the project expects contributors to use, including any environment activation step. A version number without its command can be ambiguous when several runtimes are present.
Official references
- Python command-line and environment documentation — version flags and
-VV. - Using Python on Windows — current
pythonandpyguidance, runtime listing, and launcher documentation status.


