Documentation for a newer release is available. View Latest

Python

Python 3.11

Fedora 37 fornisce lo stack Python nella versione 3.11, aggiornato rispetto alla versione 3.10 del rilascio precedente. Tra le modifiche degne di nota si includono:

  • Gruppi di eccezioni ed except**

  • Posizione degli errori migliorata nei traceback

  • Supporto per l’analisi (parsing) di TOML nella libreria standard

  • Un notevole miglioramento della velocità rispetto a Python 3.10

Funzionalità di digitazione:

  • Generici variadici

  • Contrassegnare i singoli elementi di `TypedDict`come obbligatori o potenzialmente mancanti

  • Tipo Self

  • Tipo di stringa letterale arbitraria

  • Trasformazioni delle dataclass

Per un elenco completo delle modifiche, consultare il documento a monte What’s New In Python 3.11. Vedere anche Porting to Python 3.11 se si hanno programmi Python in esecuzione su una versione precedente.

Aggiunta di -P agli shebang predefiniti

Tutte le macro RPM per lo shebang di Python 3 in Fedora 37 sono state modificate per includere un flag aggiuntivo: --P. In precedenza contenevano --s, ora contengono --sP. Il flag -`-P`è stato introdotto in Python 3.11.

La nuova flag impedisce a Python di anteporre un percorso potenzialmente non sicuro a sys.path. In questo modo, i programmi Python in`/usr/bin` risultano meno vulnerabili alla presenza di file casuali nella stessa directory, facilitando il debugging di determinati tipi di problemi e migliorando la sicurezza.

Le seguenti macro RPM sono interessate da questa modifica:

  • %{py3_shbang_opts}

  • %{py3_shbang_opts_nodash}

  • %{py3_shebang_flags}

  • %{py_shbang_opts}

  • %{py_shbang_opts_nodash}

  • %{py_shebang_flags}

Per una spiegazione dettagliata di cosa comporti questo cambiamento, un elenco dei pacchetti interessati e informazioni su come rinunciare a questa modifica (o aderirvi esplicitamente) se necessario, consulta il Fedora Wiki.