Python
Millora del rendiment de Python
Depenent de la càrrega de treball, s’observa ara una millora del rendiment de fins al 27% en el programari basat en Python. El rendiment millorat s’aconsegueix compilant l’intèrpret de Python amb -fno-semantic-interposition. Com que ara no hi ha interposició semàntica, les cerques de símbols interns de libpython a la biblioteca libpython són directes i ràpides.
Com a conseqüència, si els usuaris de Fedora necessiten utilitzar LD_PRELOAD per sobreescriure símbols a libpython, la manera recomanada és crear una compilació personalitzada de Python sense -fno-semantic-interposition. No obstant això, encara és possible utilitzar LD_PRELOAD per sobreescriure símbols en altres biblioteques (per exemple, a glibc).
S’ha eliminat Python 2
L’upstream de Python va deixar de donar suport a Python 2 l'1 de gener de 2020. Per aquest motiu, Fedora 32 elimina els paquets de Python 2.
Els següents paquets ja no estan disponibles:
-
El paquet
python2i tots els seus subpaquets. -
Tots els paquets que necessiten Python 2 per executar-se.
-
Tots els paquets que necessiten Python 2 per compilar-se.
Fedora 32 encara proporciona un paquet python27 heretat. Aquest paquet està pensat per a desenvolupadors que necessiten donar suport a Python 2 i per a usuaris que necessiten utilitzar programari que depèn de Python 2.
El paquet python27 té diverses limitacions en comparació amb el paquet python2 original:
-
El paquet no té subpaquets. Tot el contingut s’emmagatzema en un sol paquet.
-
El paquet no proporciona cap compilació de depuració, que anteriorment estava disponible com a
python2-debug. -
El paquet no proporciona el binari
/usr/bin/python. -
S’eliminen els Provides especials de compatibilitat enrere (aquest paquet no està pensat per dependre’n).
Suport discontinuat per a Nose
El suport per a Nose ara està obsolet. Tanmateix, per ara, el paquet python3-nose continua estant disponible als repositoris de Fedora. Encara no s’ha fixat cap versió específica per eliminar el paquet python3-nose.
Es recomana als usuaris i empaquetadors de paquets dependents que canviïn a python3-pytest o python3-nose2.
Notes sobre la migració de paquets pip instal·lats per l’usuari
Quan actualitzeu de Fedora 30 o 31 a Fedora 32, la versió principal de l’intèrpret de Python canvia de 3.7 a 3.8. Si teniu paquets Python instal·lats mitjançant pip, heu de completar el procediment següent per migrar-los a la nova versió:
-
Instal·leu la versió de Python principal anterior:
sudo dnf install python3.7 -
Obteniu
pipper a la versió de Python principal anterior:python3.7 -m ensurepip --user -
Observeu els paquets instal·lats:
python3.7 -m pip list -
Desa la llista amb versions específiques:
python3.7 -m pip freeze > installed.txt -
Instal·leu els mateixos paquets per a la versió ara predeterminada:
python3 -m pip install --user -r installed.txt -
Desinstal·leu els paquets instal·lats per l’usuari per a 3.7; això garanteix l’eliminació adequada dels fitxers a
~/.local/bin:python3.7 -m pip uninstall $(python3.7 -m pip list --user | cut -d" " -f1) -
Opcionalment, netegeu l’estructura de directoris ara buida:
rm -rf ~/.local/lib/python3.7/ -
Opcionalment, elimineu la versió de Python innecessària:
sudo dnf remove python3.7
A més, si teniu paquets pip instal·lats utilitzant sudo, executeu les ordres següents abans d’executar el pas final anterior que elimina `python3.7`, o instal·leu-lo de nou temporalment:
-
Obteniu
pipper a la versió de Python principal anterior per aroot:sudo python3.7 -m ensurepip -
Observeu els paquets instal·lats al sistema:
sudo python3.7 -m pip list -
Desinstal·leu els paquets instal·lats per a 3.7; això garanteix l’eliminació adequada dels fitxers a
/usr/local/bin:sudo python3.7 -m pip uninstall $(python3.7 -m pip list | cut -d" " -f1) -
Opcionalment, netegeu l’estructura de directoris ara buida:
sudo rm -rf /usr/local/lib*/python3.7/
|
Si heu seguit el primer procediment, els paquets ja estan instal·lats per al vostre compte d’usuari, que és l’opció preferida. Eviteu utilitzar |
Want to help? Learn how to contribute to Fedora Docs ›