Linux

How to Check Python Version in Linux

Check Python Version in Linux

Python is a versatile and widely used programming language that has become an essential tool for developers across various domains. When working with Python on Linux systems, it’s crucial to know which version you have installed to ensure compatibility with libraries, packages, and scripts. In this comprehensive guide, we’ll explore the different methods to check your Python version on Linux, discuss the importance of version management, and provide troubleshooting tips to help you navigate through common issues.

Why Checking Your Python Version Matters

Python has undergone significant changes over the years, with Python 2 and Python 3 being the two major versions. While Python 2 is no longer actively maintained, many legacy projects and scripts still rely on it. On the other hand, Python 3 introduced new features, syntax improvements, and better performance. As a result, it’s essential to know which Python version you are running to avoid compatibility issues and take advantage of the latest features.

Moreover, Linux distributions often come with multiple Python versions pre-installed or allow users to install different versions side by side. This flexibility enables developers to work on projects with specific version requirements. However, it also means that you need to be aware of which Python version is being used at any given time to prevent conflicts and ensure smooth execution of your code.

Methods to Check Python Version

Linux provides several ways to check your Python version, depending on your preferences and the level of detail you require. Let’s explore the most common methods:

  1. Command Line
  2. Python Scripts
  3. Package Managers

Checking Python Version from the Command Line.

The command line is the most straightforward and quickest way to check your Python version on Linux. Follow these step-by-step instructions:

  • Open your terminal or command prompt.
  • Type python --version or python -V and press Enter. This command will display the default Python version installed on your system.

For example:

$ python --version
Python 2.7.18

If you specifically want to check the version of Python 3, use the command python3 --version:

$ python3 --version
Python 3.9.7

To obtain more detailed version information, including the build number and compiler used, you can use the python -VV command (available in Python 3.6 and above):

$ python -VV
Python 3.9.7 (default, Aug 31 2021, 13:28:12) 
[GCC 11.1.0]

If you have multiple Python versions installed, you can locate the executable for each version using the which or whereis command followed by the Python command name:

$ which python
/usr/bin/python

$ whereis python3
python3: /usr/bin/python3 /usr/lib/python3 /usr/local/bin/python3

These commands help you identify the installation paths for different Python versions on your Linux system.

Checking Python Version in a Script

In addition to the command line, you can also check the Python version within your Python scripts. This approach is particularly useful when you need to ensure compatibility or conditionally execute code based on the Python version. Here are a few ways to achieve this:

  1. Using the sys module:
  • The sys module provides access to system-specific parameters and functions, including the Python version information.
  • You can use the sys.version attribute to retrieve a string containing the Python version, build number, and compiler details.
  • Alternatively, the sys.version_info tuple provides a more structured way to access version information, allowing you to extract major, minor, and micro version numbers separately.

Example using sys.version:

import sys

print("Python version:")
print(sys.version)

Output:

Python version:
3.9.7 (default, Aug 31 2021, 13:28:12) 
[GCC 11.1.0]

Example using sys.version_info:

import sys

print("Python version:")
print(sys.version_info)
print(f"Major: {sys.version_info.major}")
print(f"Minor: {sys.version_info.minor}")
print(f"Micro: {sys.version_info.micro}")

Output:

Python version:
sys.version_info(major=3, minor=9, micro=7, releaselevel='final', serial=0)
Major: 3
Minor: 9
Micro: 7
  1. Using the platform module:
  • The platform module provides an alternative way to retrieve Python version information.
  • You can use the platform.python_version() function to get a string representing the Python version.

Example using platform.python_version():

import platform

print("Python version:")
print(platform.python_version())

Output:

Python version:
3.9.7

By leveraging these modules, you can write scripts that adapt their behavior based on the Python version they are running on. This is particularly handy when dealing with code that needs to be compatible with multiple Python versions.

Checking Python Version with Package Managers

Linux distributions often use package managers to handle software installations, including Python. You can utilize these package managers to check the available Python versions and their details. Here are a few common package managers and the commands to check Python versions:

  1. Apt (Debian/Ubuntu):
  • To check the Python version installed via apt, use the command apt show python for Python 2 or apt show python3 for Python 3.

Example:

$ apt show python3
Package: python3
Version: 3.9.7-1ubuntu2
Priority: important
Section: python
...
  1. Yum (RHEL/CentOS):
  • For systems using yum package manager, you can use yum info python for Python 2 or yum info python3 for Python 3.

Example:

$ yum info python3
Name : python3
Version : 3.9.7
Release : 1.el8
...
  1. Conda:
  • If you are using the Anaconda or Miniconda distribution, you can check the Python version with the command conda list | grep python.

Example:

$ conda list | grep python
python 3.9.7 h12debd9_1

These package manager commands provide a quick way to verify the Python versions available in your Linux distribution’s repositories.

Conclusion

Checking your Python version on Linux is an essential skill for any Python developer. Whether you prefer using the command line, Python scripts, or package managers, Linux provides multiple ways to quickly determine the installed Python versions on your system. By understanding the differences between Python 2 and Python 3, you can make informed decisions about which version to use for your projects and ensure compatibility with libraries and packages.

Remember to consider best practices like using virtual environments, explicitly specifying Python versions in your scripts, and keeping the system Python intact. These practices will help you maintain a clean and organized development environment, reducing the chances of version conflicts and ensuring the smooth execution of your Python code.

With the knowledge gained from this guide, you are now equipped to confidently check and manage Python versions on your Linux system. Embrace the power and flexibility of Python on Linux and happy coding!

r00t

r00t is an experienced Linux enthusiast and technical writer with a passion for open-source software. With years of hands-on experience in various Linux distributions, r00t has developed a deep understanding of the Linux ecosystem and its powerful tools. He holds certifications in SCE and has contributed to several open-source projects. r00t is dedicated to sharing her knowledge and expertise through well-researched and informative articles, helping others navigate the world of Linux with confidence.
Back to top button