Python
İyileştirilmiş Python performansı
İş yüküne bağlı olarak, Python tabanlı yazılımlarda artık %27’ye varan performans iyileştirmeleri gözlenmektedir. Performans iyileştirmeleri, Python yorumlayıcısının -fno-semantic-interposition
seçeneğiyle derlenmesiyle elde edilmektedir. Artık bir anlamsal müdahale olmadığı için, libpython
ile libpython
kütüphanesi arasındaki dahili sembol aramaları doğrudan ve daha hızlıdır.
Sonuçlara göre, Fedora kullanıcılarının libpython
da bulunan sembolleri kullanım dışı yapmaları için LD_PRELOAD
yapmaları gerekiyorsa, önerilen yol -fno-semantic-interposition
olmadan özel bir Python derlemesi oluşturmaktır. Bununla birlikte, diğer kütüphanlerdeki sembolleri (mesela glibc) geçersiz kılmak için LD_PRELOAD
kullanmak da hala uygundur.
Python 2 kaldırıldı
Python projesi 1 Ocak 2020’de Python 2’yi desteklemeyi bıraktı. Bu nedenle, Fedora 32’de Python 2 paketleri kaldırıldı.
Aşağıdaki paketler artık kullanılabilir değil:
-
python2
paketi ve tüm alt paketleri. -
Çalıştırmak için Python 2 gerektiren tüm paketler.
-
Oluşturmak için Python 2 gerektiren tüm paketler.
Fedora 32 yine de geriye dönük bir python27
paketi sağlamaktadır. Bu paket, Python 2’yi desteklemesi gereken geliştiriciler ve Python 2’ye bağımlı yazılımlar kullanmaya ihtiyaç duyan kullanıcılar için tasarlanmıştır.
python27
paketinin orijinal python2
paketiyle karşılaştırıldığında birtakım kısıtlamaları bulunmaktadır:
-
Paketin alt paketleri yoktur. Tüm içerik tek bir pakete dahil edilmiştir.
-
Paket, daha önce
python2-debug
olarak kullanılabilen hata ayıklama derlemesi sağlamamaktadır. -
Paket,
/usr/bin/python
programını sağlamamaktadır. -
Tüm 'özel' geriye dönük uyumlu sağlayıcılar kaldırıldı (bu paketin üste bağlı olması amaçlanmamıştır).
Nose için destek kaldırdı
Nose için destek kaldırıldı. Bununla birlikte, python3-nose
paketi hala Fedora depolarında erişime açık olacak. Henüz herhangi bir sürümde python3-nose
paketinin kaldırılması planlanmadı.
Kullanıcıların ve bağımlı paketlerin paketleyicilerinin python3-pytest
veya `python3-nose2`e geçmeleri önerilir.
Kullanıcı tarafından kurulan pip paketlerinin taşınmasıyla ilgili notlar
When you upgrade from Fedora 30 or 31 to Fedora 32, the main Python interpreter version changes from 3.7 to 3.8. If you have any Python packages installed using pip
, you must complete the following procedure to migrate them to the new version:
-
Önceki ana Python sürümünü kurun:
sudo dnf install python3.7
-
Önceki ana Python sürümü için
pip
edinin:python3.7 -m ensurepip --user
-
Kurulu paketleri gözlemleyin:
python3.7 -m pip list
-
Listeyi belirli sürümlerle kaydedin:
python3.7 -m pip freeze > installed.txt
-
Sonra öntanımlı sürüm için aynı paketleri kurun:
python3 -m pip install --user -r kurulu-paketler.txt
-
Uninstall user-installed packages for 3.7; this ensures proper removal of files in
~/.local/bin
:python3.7 -m pip uninstall $(python3.7 -m pip list --user | cut -d" " -f1)
-
İsteğe bağlı olarak, artık boş olan dizin yapısını temizleyin:
rm -rf ~/.local/lib/python3.7/
-
İsteğe bağlı olarak, artık gerek duyulmayan Python sürümünü kaldırın:
sudo dnf remove python3.7
Additionally, if you have any pip
packages installed using sudo
, run the following commands before running the final step above which removes `python3.7`, or install it again temporarily:
-
root
için önceki ana Python sürümü içinpip
edinin:sudo python3.7 -m ensurepip
-
Sistem genelinde kurulan paketleri gözlemleyin:
sudo python3.7 -m pip list
-
Uninstall installed packages for 3.7; this ensures proper removal of files in
/usr/local/bin
:sudo python3.7 -m pip uninstall $(python3.7 -m pip list | cut -d" " -f1)
-
İsteğe bağlı olarak, artık boş olan dizin yapısını temizleyin:
sudo rm -rf /usr/local/lib*/python3.7/
İlk anlatılan işlemleri izlediyseniz, paketler kullanıcı hesabınız için zaten kurulmuştur, bu tercih edilen seçenektir. Gelecekte |
Want to help? Learn how to contribute to Fedora Docs ›