¿Cómo detecto la versión de Python en tiempo de ejecución? [duplicar]
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
)?
Claro, echa un vistazo a sys.version
y 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_info
En 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?
Pruebe este código, esto debería funcionar:
import platform
print(platform.python_version())
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))