Python
Verbeterde prestaties van Python
Afhankelijk van de werklast worden nu prestatieverbeteringen tot 27% waargenomen in op Python gebaseerde software. De verbeterde prestatie wordt bereikt door de Python-interpreter te bouwen met -fno-semantic-interposition
. Omdat er nu geen semantische interpositie is, zijn de interne symboolzoekopdrachten van libpython
naar` libpython` bibliotheek direct en sneller.
Als gevolg hiervan, als Fedora gebruikers LD_PRELOAD
moeten gebruiken om symbolen in` libpython` te overschrijven, is de aanbevolen manier om een aangepaste Python-build te bouwen zonder -fno-semantic-interposition
. Het is echter nog steeds mogelijk om LD_PRELOAD
te gebruiken om symbolen in andere bibliotheken te overschrijven (bijvoorbeeld in glibc).
Python 2 is verwijderd
De Python upstream stopte met het ondersteunen van Python 2 op 1 januari 2020. Om deze reden verwijdert Fedora 32 Python 2 pakketten.
De volgende pakketten zijn niet meer beschikbaar:
-
Het
python2
pakket en alle subpakketten. -
Alle pakketten die Python 2 nodig hebben om te worden uitgevoerd.
-
Alle pakketten die Python 2 nodig hebben te worden gebouwd.
Fedora 32 biedt nog steeds een verouderd python27
pakket aan. Dit pakket is bedoeld voor ontwikkelaars die Python 2 moeten ondersteunen en voor gebruikers die software gebruiken die afhangt van Python 2.
Het python27
pakket heeft verscheidene beperkingen vergeleken met het originele python2
pakkey:
-
Het pakket heeft geen subpakketten. Alle inhoud is opgeslagen in het enkele pakket.
-
Het pakket biedt geen debug bouw aan, welke vroeger beschikbaar was als
python2-debug
. -
Het pakket biedt het binaire programma
/usr/bin/python
niet aan. -
Alle speciale backwards-compatibele Provides zijn verwijderd (dit pakket is niet bedoeld om afhankelijk van te worden).
Verouderde ondersteuning voor Nose
Ondersteuning voor Nose is nu beëindigd. Maar voorlopig blijft het python3-nose
pakket beschikbaar in de Fedora repositories. Er is nog niet op een specifieke release gericht voor het verwijderen van het python3-nose
pakket.
Gebruikers en verpakkers van afhankelijke pakketten worden aangemoedigd om over te gaan naar python3-pytest
of python3-nose2
.
Opmerkingen over het migreren van door de gebruiker geïnstalleerde pip-pakketten
Wanneer je upgrade van Fedora 30 of 31 naar Fedora 32, verandert de belangrijkste Python interpreter versie van 3.7 naar 3.8. Als je Python-pakketten hebt geïnstalleerd met pip
, moet je de volgende procedure volgen om ze naar de nieuwe versie te migreren:
-
Installeer de voorheen belangrijkste Python-versie:
sudo dnf install python3.7
-
Haal
pip
op voor de voorheen belangrijkste Python-versie:python3.7 -m ensurepip --user
-
Let op de geïnstalleerde pakketten:
python3.7 -m pip list
-
Bewaar de lijst met specifieke versies:
python3.7 -m pip freeze > installed.txt
-
Installeer dezelfde pakketten voor de nu standaardversie:
python3 -m pip install --user -r installed.txt
-
Verwijder door de gebruiker geïnstalleerde pakketten voor 3.7; dit zorgt voor een correcte verwijdering van bestanden in
~/.local/bin
:python3.7 -m pip uninstall $(python3.7 -m pip list --user | cut -d" " -f1)
-
Ruim optioneel de nu lege mapstructuur op:
rm -rf ~/.local/lib/python3.7/
-
Verwijder optioneel de onnodige Python-versie:
sudo dnf remove python3.7
Bovendien, als je pip
pakketten geïnstalleerd hebt met sudo
, voer dan de volgende commando’s uit voordat je de laatste stap hierboven uitvoert die python3.7
verwijdert, of installeer het tijdelijk opnieuw:
-
Haal
pip
voor de voorheen belangrijkste Python-versie voorroot
:sudo python3.7 -m ensurepip
-
Let op de door het systeem geïnstalleerde pakketten:
sudo python3.7 -m pip list
-
Verwijder geïnstalleerde pakketten voor 3.7; dit zorgt voor een correcte verwijdering van bestanden in
/usr/local/bin
:sudo python3.7 -m pip uninstall $(python3.7 -m pip list | cut -d" " -f1)
-
Maak nu optioneel de lege mapstructuur schoon:
sudo rm -rf /usr/local/lib*/python3.7/
Als je de eerste procedure heeft gevolgd, zijn de pakketten al geïnstalleerd voor jouw gebruikersaccount, wat de voorkeursoptie is. Vermijd het gebruik van |
Want to help? Learn how to contribute to Fedora Docs ›