5 Best Ways to Check Python Version via Command Line

πŸ’‘ Problem Formulation: When working with Python, it’s often necessary to know which version you’re using to ensure compatibility with packages or specific language features. For instance, you might input python --version and expect an output like Python 3.8.5. This ensures you are using the correct environment and dependencies for your projects.

Method 1: Using python --version or python -V

This is the most straightforward method to check the Python version. Both --version and -V flags display the version of Python that executes when you type ‘python’ in your command prompt or terminal. These flags are part of Python’s in-built module and they return the version of the python interpreter.

Here’s an example:

python --version

Output: Python 3.8.5

This code snippet, when run in the command line, prints out the version of the default Python interpreter installed on your system. It’s quick and useful when you simply need to check the version in a commonly used environment.

Method 2: Using python3 --version or python3 -V

In case you have multiple Python versions installed, particularly both Python 2.x and Python 3.x, using python3 instead will specify that you want the version of Python 3. Just as with the previous method, --version and -V are the flags used to retrieve this information.

Here’s an example:

python3 --version

Output: Python 3.8.5

When you have both Python 2.x and 3.x installed, this command line replaces python to ensure that you get the version for Python 3. This specificity can be crucial in environments where legacy Python 2 is still in play.

Method 3: Using the Python Interpreter

Another approach is to invoke the Python interpreter directly and print the version information from within a Python session. This can be done using Python’s sys module which contains version information.

Here’s an example:

python -c "import sys; print(sys.version)"

Output: 3.8.5 (default, Jul 20 2020, 13:26:22) [GCC 9.3.0]

This command runs a Python one-liner that imports the sys module and prints the full version information. Besides the version number, this also includes the build date and the compiler used, giving a more complete picture of the Python environment.

Method 4: Using the platform Python Module

The platform module in Python provides detailed checks into the system’s information, which also includes the Python version. The platform.python_version() function can be called to get a string representation of the Python version.

Here’s an example:

python -c "import platform; print(platform.python_version())"

Output: 3.8.5

This snippet executes a brief Python script that prints the version of Python. Unlike using the sys module, platform.python_version() only gives the version number, without additional build information.

Bonus One-Liner Method 5: The py Launcher on Windows

On Windows, the py launcher is installed to facilitate side-by-side installations of Python 2.x and 3.x. Using py -0 lists all installed Python versions with their respective paths.

Here’s an example:

py -0

Output: -3.9-64 * -2.7-32

The output shows all the available Python interpreters. The asterisk indicates the default Python interpreter. This is convenient for managing multiple Python versions on a Windows system.

Summary/Discussion

  • Method 1: python --version or python -V. Quick and easy. May not specify Python 3 if both Python 2 and 3 are installed.
  • Method 2: python3 --version or python3 -V. Necessary for systems with both Python 2.x and 3.x versions. Not applicable on systems where python3 is not defined.
  • Method 3: Using Python interpreter and sys module. Provides detailed version information. Requires running a Python interpreter, which is slightly more cumbersome than terminal commands.
  • Method 4: Using the platform module. Returns just the version string. Another Python interpreter-based method, with less detail compared to sys.version.
  • Bonus Method 5: The py -0 command in Windows. Best for Windows environments with multiple Python versions. Only applicable to Windows.