¿Cómo detecto la versión de Python en tiempo de ejecución? [duplicar]

Resuelto priya asked hace 12 años • 9 respuestas

Tengo un archivo de Python que podría tener que admitir versiones de Python <3.xy>= 3.x. ¿Hay alguna manera de realizar una introspección en el tiempo de ejecución de Python para conocer la versión que se está ejecutando (por ejemplo 2.6 or 3.2.x)?

priya avatar Jan 31 '12 18:01 priya
Aceptado

Claro, echa un vistazo a sys.versiony sys.version_info.

Por ejemplo, para comprobar que está ejecutando Python 3.x, utilice

import sys
if sys.version_info[0] < 3:
    raise Exception("Must be using Python 3")

Aquí sys.version_info[0]está el número de versión principal. sys.version_info[1]le daría el número de versión menor.

sys.version_infoEn Python 2.7 y posteriores, también se puede acceder a los componentes de por nombre, por lo que el número de versión principal es sys.version_info.major.

Consulte también ¿Cómo puedo comprobar la versión de Python en un programa que utiliza nuevas funciones del lenguaje?

Chris avatar Jan 31 '2012 11:01 Chris

Pruebe este código, esto debería funcionar:

import platform
print(platform.python_version())
Avinash avatar Jan 11 '2017 10:01 Avinash

Por sys.hexversion y API y ABI Versioning :

import sys
if sys.hexversion >= 0x3000000:
    print('Python 3.x hexversion %s is in use.' % hex(sys.hexversion))
Insidi0us avatar Jan 31 '2012 11:01 Insidi0us