How can I check what version of the Python Interpreter is interpreting my script?
This information is available in the
sys.version string in the
>>> import sys
>>> print(sys.version) # parentheses necessary in python 3. 2.5.2 (r252:60911, Jul 31 2008, 17:28:52) [GCC 4.2.3 (Ubuntu 4.2.3-2ubuntu7)]
For further processing, use
>>> sys.version_info (2, 5, 2, 'final', 0) # or >>> sys.hexversion 34014192
To ensure a script runs with a minimal version requirement of the Python interpreter add this to your code:
assert sys.version_info >= (2, 5)
This compares major and minor version information. Add micro (=
1, etc) and even releaselevel (=
'final', etc) to the tuple as you like. Note however, that it is almost always better to “duck” check if a certain feature is there, and if not, workaround (or bail out). Sometimes features go away in newer releases, being replaced by others.