Python

Python 3.6

Python 3.6 será la pila Python 3 predeterminada en Fedora 26. Esto es una actualización desde 3.5 que estaba incluida en Fedora 25. Todos los paquetes que dependen de Python 3 deben ser reconstruidos. Los scripts Python 3 y las aplicaciones escritos por el usuario pueden requerir una pequeña cantidad de portabilidad; sin embargo, Python 3.5 s compatible hacia adelante con Python 3.6 en su mayor parte.

Las nuevas funciones más destacables incluyen:

  • Literales de cadena formateados (f-strings): f"Esto se evaluará según el valor de foo: {foo}"

  • El orden de los elementos en los argumentos **kwargs: keyword guardan ahora su orden

  • El nuevo módulo secrets proporciona ahora útiles ayudantes para la generación segura de tokens en diversos formatos

  • Los guiones bajos en literales numéricos le permiten dividir las constantes mágicas para que sean más fáciles de leer: 1_000_000

  • Protocolo de ruta de sistema de archivos: Muchas más bibliotecas estándar APIs, incluyendo el incorporado open(), que ahora soporta objetos`pathlib.Path` y pathlib.PurePath

  • Unas variadas mejoras de rendimiento.

Para información más detallada vea el Artículo anunciado en Fedora Magazine o las notas de la versión ascendente. Atento a la sección Portabilidad a Python 3.6, que lista información importante para los desarrolladores que necesitan portar sus aplicaciones Python 3.5.

Clase de Laboratorio Python

Fedora 26 trae una nueva Clase de Laboratorio Python. Una variante de Fedora dirigida a los profesores y estudiantes del lenguaje de programación Python. Un entorno preparado para usar con Python, PyPy 3, virtualenv, tox, git, Jupyter Notebook y más. Está listo en tres variantes: como escritorio con GNOME o sin cabeza para Vagrant y Docker.

Find out more about the Python Classroom Lab on the Fedora Labs website.

Python 3 C.UTF-8 locale

An ongoing challenge within the Python 3 series has been determining a sensible default strategy for handling the “7-bit ASCII” text encoding assumption currently implied by the use of the default C locale.

Starting with Fedora 26, the Fedora system Python includes a backport of Python 3.7’s upcoming locale coercion feature, which means the Python 3 stack will automatically coerce the C locale to C.UTF-8 by setting the LC_CTYPE environment variable (if neither it nor LC_ALL are already set) before configuring the process locale. Automatically setting LC_CTYPE this way means that both the core interpreter and locale-aware C extensions (such as readline) will assume the use of UTF-8 as the default text encoding, rather than ASCII.

Full details of this new Python feature are contained in PEP 538 — Coercing the legacy C locale to a UTF-8 based local.