Documentation for a newer release is available. View Latest

Python

Python 3.11

Fedora 37 proporciona la pila Python en la versió 3.11, actualitzant des de la versió 3.10 en la versió anterior. Els canvis notables inclouen:

  • Grups d’excepcions i except*

  • Ubicacions d’errors millorades en els tracebacks

  • Suport per analitzar TOML a la biblioteca estàndard

  • Una millora de velocitat massiva en comparació amb Python 3.10

Característiques de tipatge:

  • Genèrics variàdics

  • Marcar elements TypedDict individuals com a obligatoris o potencialment faltants

  • Tipus Self

  • Tipus de cadena literal arbitrària

  • Transformacions de Dataclass

Per obtenir una llista completa dels canvis, vegeu el document upstream Novetats a Python 3.11. Vegeu també Adaptació a Python 3.11 si teniu programes Python executant-se en una versió anterior.

Afegir -P als shebangs per defecte

Totes les macros RPM shebang de Python 3 a Fedora 37 s’han canviat per contenir una bandera més: -P. Anteriorment, contenien -s, ara contenen -sP. La bandera -P es va introduir a Python 3.11.

La nova bandera impedeix que Python prepongui un camí potencialment insegur a sys.path. Això fa que els programes Python a /usr/bin siguin menys fràgils davant de fitxers aleatoris presents al mateix directori, facilitant la depuració de certs tipus de problemes i millorant la seguretat.

Les següents macros RPM estan afectades per aquest canvi:

  • %{py3_shbang_opts}

  • %{py3_shbang_opts_nodash}

  • %{py3_shebang_flags}

  • %{py_shbang_opts}

  • %{py_shbang_opts_nodash}

  • %{py_shebang_flags}

Per obtenir una explicació detallada del que significa aquest canvi, una llista de paquets afectats i informació sobre com excloure’s d’aquest canvi (o incloure’s explícitament) si és necessari, vegeu el Wiki de Fedora.