Peter Hansen wrote:
Randall Smith wrote:
As Python changes and old code still needs to work properly, I wonder
if there is a standard way to note which version of the Python
interpreter code is intended to work with. I know that an executable
may begin with #!/usr/bin/python2.3 or something similar, but what
about libraries and such? Would it be a good idea for the software I
write to check for the version of the interpreter?
Python is exceptionally backwards compatible, so generally
code from an older version will run unchanged on newer
Pythons.
There is a simple way of encoding a version of the interpreter,
but the real question is why would you want to do that. If
you really think it's necessary, just import sys and check the
value of sys.version_info. Lots of code which wants to require
a *minimum* version of Python (a far more common use case than
checking for a *maximum*) contains code like this:
import sys
if sys.hex_version[:3] < (2, 3, 3):
sys.exit('Requires Python 2.3.3 or later to run!')
-Peter
i think you meant something this:
>>> import sys
>>> sys.version_info[:3]
(2, 4, 0)
>>> sys.version_info[:3] >= (2, 3, 3)
True
>>> sys.hex_version
Traceback (most recent call last):
File "<interactive input>", line 1, in ?
AttributeError: 'module' object has no attribute 'hex_version'
bryan
--
http://mail.python.org/mailman/listinfo/python-list