Join my Asyncio (Python) course on Udemy for free 👀

Get the Python version number from code

October 27, 2020  ‐ 2 min read

Outputting the Python version on the shell is straightforward, and you do it just like how you get the version of other programs.

$ python --version
Python 3.8.5

Getting this version number in a script can be useful as well. But you have multiple options there.

One coming close to the one we saw above is by using the python_version() function from the platform module.

from platform import python_version

# => 3.8.5

More detailed ones are found in the sys module.

from sys import version

# => 3.8.5 (default, Jul 28 2020, 12:59:40)
# => [GCC 9.3.0]

This shows a more detailed string containing version info. Together with the compiler that was used.

If you programmatically want to do something with the version number you can better use something other than sys.version().

That something else might be sys.version_info. It returns always five components of the version number. Nicely in a tuple.

from sys import version_info

# => sys.version_info(major=3, minor=8, micro=5, releaselevel='final', serial=0)

Checking for python version 2 or 3

If checking for Python version 2 is still a thing, you can easily do it with the version_info function.

from sys import version_info

if version_info.major == 3:
    print('Running Python 3')
elif version_info.major == 2:
    print('Running Python 2')