ΠŸΠ»Π°Π½ΠΈΡ€Π°Π½ΠΎ Π΅ основно почистванС Π½Π° стандартната Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π½Π° Python

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ Π½Π° Python ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½ΠΎ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (PEP 594) Π·Π° ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅ Π½Π° основно почистванС Π½Π° стандартната Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°. ΠšΠ°ΠΊΡ‚ΠΎ явно остарСли, Ρ‚Π°ΠΊΠ° ΠΈ силно спСциализирани Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΠΈΠΌΠ°Ρ‚ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ ΠΈ Π½Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΡƒΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½ΠΈ Π·Π° всички ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΈ, сС ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Ρ‚ Π·Π° ΠΏΡ€Π΅ΠΌΠ°Ρ…Π²Π°Π½Π΅ ΠΎΡ‚ стандартната Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π½Π° Python.

НапримСр, ΠΏΡ€Π΅Π΄Π»Π°Π³Π° сС Π΄Π° сС ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π°Ρ‚ ΠΎΡ‚ стандартната Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Ρ‚Π°ΠΊΠΈΠ²Π° ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΊΠ°Ρ‚ΠΎ crypt (Π½Π΅Π΄ΠΎΡΡ‚ΡŠΠΏΠ½ΠΎΡΡ‚ Π·Π° Windows ΠΈ зависимост Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅Ρ‚ΠΎ Π½Π° Ρ…Π΅ΡˆΠΈΡ€Π°Ρ‰ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΈ ΠΎΡ‚ систСмнитС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ), cgi (Π½Π΅ Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»Π½Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°, изисква стартиранС Π½Π° Π½ΠΎΠ² процСс Π·Π° всяка заявка), ΠΈΠΌΠΏ (ΠΏΡ€Π΅ΠΏΠΎΡ€ΡŠΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ importlib), ΠΊΠ°Π½Π°Π»ΠΈ (ΠΏΡ€Π΅ΠΏΠΎΡ€ΡŠΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ ΠΌΠΎΠ΄ΡƒΠ»Π° Π·Π° подпроцСси), nis (ΠΏΡ€Π΅ΠΏΠΎΡ€ΡŠΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ NSS, LDAP ΠΈΠ»ΠΈ Kerberos/GSSAPI), spwd (Π½Π΅ сС ΠΏΡ€Π΅ΠΏΠΎΡ€ΡŠΡ‡Π²Π° Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈΡ‚Π΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ с Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ Π½Π° Π°ΠΊΠ°ΡƒΠ½Ρ‚Π°). ΠœΠΎΠ΄ΡƒΠ»ΠΈΡ‚Π΅ binhex, uu, xdrlib ΡΡŠΡ‰ΠΎ са ΠΌΠ°Ρ€ΠΊΠΈΡ€Π°Π½ΠΈ Π·Π° ΠΏΡ€Π΅ΠΌΠ°Ρ…Π²Π°Π½Π΅.
aifc,
audioop,
ΠΏΠ°Ρ€Ρ‡Π΅
imghdr,
осаудиодСв,
sndhdr,
сунау
асинчат,
асинкор,
cgitb,
smtpd
nntplib, macpath,
Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€Π°Π½Π΅, msilib ΠΈ Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€.

ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡΡ‚ ΠΏΠ»Π°Π½ Π΅ Π΄Π° сС ΠΎΡ‚Ρ…Π²ΡŠΡ€Π»ΡΡ‚ Π³ΠΎΡ€Π½ΠΈΡ‚Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π² Python 3.8, Π΄Π° сС ΠΈΠ·Π΄Π°Π΄Π΅ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π² Python 3.8 ΠΈ Π΄Π° сС ΠΏΡ€Π΅ΠΌΠ°Ρ…Π½Π°Ρ‚ ΠΎΡ‚ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°Ρ‚Π° Π½Π° CPython Π² Python 3.10.
ΠœΠΎΠ΄ΡƒΠ»ΡŠΡ‚ Π·Π° Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ сС ΠΏΠ»Π°Π½ΠΈΡ€Π° Π΄Π° бъдС ΠΏΡ€Π΅ΠΌΠ°Ρ…Π½Π°Ρ‚ във вСрсия 3.9, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ бСшС ΠΎΡ‚Ρ…Π²ΡŠΡ€Π»Π΅Π½ Π² вСрсията Π½Π° Python 2.5, Π° ΠΌΠΎΠ΄ΡƒΠ»ΡŠΡ‚ macpath Π² ΠΊΠ»ΠΎΠ½Π° 3.8. Π‘Π»Π΅Π΄ ΠΊΠ°Ρ‚ΠΎ бъдС ΠΏΡ€Π΅ΠΌΠ°Ρ…Π½Π°Ρ‚ ΠΎΡ‚ основния ΠΊΠΎΠ΄, ΠΊΠΎΠ΄ΡŠΡ‚ Ρ‰Π΅ бъдС прСмСстСн Π² ΠΎΡ‚Π΄Π΅Π»Π½ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π½Π° legacylib ΠΈ ΡΡŠΠ΄Π±Π°Ρ‚Π° ΠΌΡƒ Ρ‰Π΅ зависи ΠΎΡ‚ интСрСса Π½Π° Ρ‡Π»Π΅Π½ΠΎΠ²Π΅Ρ‚Π΅ Π½Π° общността. ΠžΡ‡Π°ΠΊΠ²Π° сС ΠΊΠ»ΠΎΠ½ΡŠΡ‚ Python 3.9 Π΄Π° сС ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° Π΄ΠΎ 2026 Π³., ΠΊΠΎΠ΅Ρ‚ΠΎ Ρ‰Π΅ осигури Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π·Π° ΠΌΠΈΠ³Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ към външни Π°Π»Ρ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²ΠΈ.

ΠŸΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΠΈΡ‚Π΅ ftplib, optparse, getopt, colorys, fileinput, lib2to3 ΠΈ wave ΡΡŠΡ‰ΠΎ бяха ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈ Π·Π° ΠΏΡ€Π΅ΠΌΠ°Ρ…Π²Π°Π½Π΅, Π½ΠΎ бСшС Ρ€Π΅ΡˆΠ΅Π½ΠΎ Π΄Π° Π³ΠΈ оставим ΠΊΠ°Ρ‚ΠΎ част ΠΎΡ‚ стандартната Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° засСга, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Ρ‚Π΅ са ΡˆΠΈΡ€ΠΎΠΊΠΎ разпространСни ΠΈ остават умСстни, Π²ΡŠΠΏΡ€Π΅ΠΊΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΏΠΎ-ΡƒΡΡŠΠ²ΡŠΡ€ΡˆΠ΅Π½ΡΡ‚Π²Π°Π½ΠΈ Π°Π»Ρ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²ΠΈ ΠΈΠ»ΠΈ ΠΎΠ±Π²ΡŠΡ€Π·Π²Π°Π½Π΅ към спСцифични Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈΡ‚Π΅ систСми.

Π‘ΠΏΠΎΠΌΠ½Π΅Ρ‚Π΅ си, Ρ‡Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΡŠΡ‚ Python ΠΏΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΎ Π²ΡŠΠ·ΠΏΡ€ΠΈΠ΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° β€žΠ²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈ Π±Π°Ρ‚Π΅Ρ€ΠΈΠΈβ€œ, ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΠΉΠΊΠΈ Π±ΠΎΠ³Π°Ρ‚ Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² стандартната Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π·Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ прилоТСния. Π‘Ρ€Π΅Π΄ прСдимствата Π½Π° Ρ‚ΠΎΠ·ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π΅ опростяванСто Π½Π° ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Π½Π΅Ρ‚ΠΎ Π½Π° Python ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ ΠΈ Π½Π°Π±Π»ΡŽΠ΄Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° сигурността Π½Π° ΠΌΠΎΠ΄ΡƒΠ»ΠΈΡ‚Π΅, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ‚Π΅. УязвимоститС Π² ΠΌΠΎΠ΄ΡƒΠ»ΠΈΡ‚Π΅ чСсто сС ΠΏΡ€Π΅Π²Ρ€ΡŠΡ‰Π°Ρ‚ Π² ΠΈΠ·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ Π½Π° уязвимости Π² прилоТСнията, ΠΊΠΎΠΈΡ‚ΠΎ Π³ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚. Ако Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅ са Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈ Π² стандартната Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°, Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ Π΅ Π΄Π° сС слСди ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ Π½Π° основния ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. ΠŸΡ€ΠΈ раздСлянСто Π½Π° стандартната Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΎΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ сС изисква Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π½Π° Ρ‚Ρ€Π΅Ρ‚ΠΈ страни, уязвимоститС във всСки ΠΎΡ‚ ΠΊΠΎΠΈΡ‚ΠΎ трябва Π΄Π° сС Π½Π°Π±Π»ΡŽΠ΄Π°Π²Π°Ρ‚ ΠΎΡ‚Π΄Π΅Π»Π½ΠΎ. ΠŸΡ€ΠΈ висока стСпСн Π½Π° фрагмСнтация ΠΈ голям Π±Ρ€ΠΎΠΉ зависимости ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π° Π·Π°ΠΏΠ»Π°Ρ…Π° ΠΎΡ‚ Π°Ρ‚Π°ΠΊΠΈ Ρ‡Ρ€Π΅Π· ΠΊΠΎΠΌΠΏΡ€ΠΎΠΌΠ΅Ρ‚ΠΈΡ€Π°Π½Π΅ Π½Π° инфраструктурата Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° ΠΌΠΎΠ΄ΡƒΠ»ΠΈ.

ΠžΡ‚ Π΄Ρ€ΡƒΠ³Π° страна, всСки Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π΅Π½ ΠΌΠΎΠ΄ΡƒΠ» Π² стандартната Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° изисква рСсурси ΠΎΡ‚ Π΅ΠΊΠΈΠΏΠ° Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Python Π·Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° Π΅ Π½Π°Ρ‚Ρ€ΡƒΠΏΠ°Π»Π° голям Π±Ρ€ΠΎΠΉ Π΄ΡƒΠ±Π»ΠΈΡ€Π°Ρ‰ΠΈ сС ΠΈ излишни Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π°ΠΌΠ°Π»ΠΈ Ρ€Π°Π·Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ Π·Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°. Π‘ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° PyPI ΠΈ опростяванС Π½Π° процСса Π½Π° инсталиранС ΠΈ изтСглянС Π½Π° Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° външни ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π²Π΅Ρ‡Π΅ Π΅ станало Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° ΠΎΠ±ΠΈΡ‡Π°ΠΉΠ½ΠΎ, ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ ΠΈ Π²Π³Ρ€Π°Π΄Π΅Π½ΠΈΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

ВсС ΠΏΠΎΠ²Π΅Ρ‡Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ ΠΏΠΎ-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π½ΠΈ външни замСститСли Π½Π° стандартни ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠ°Ρ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ ΠΌΠΎΠ΄ΡƒΠ»Π° lxml вмСсто xml. ΠŸΡ€Π΅ΠΌΠ°Ρ…Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° изоставСни ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΎΡ‚ стандартната Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Ρ‰Π΅ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈ популярността Π½Π° Π°Π»Ρ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²ΠΈΡ‚Π΅, Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°Π½ΠΈ ΠΎΡ‚ общността. Π’ допълнСниС, намаляванСто Π½Π° стандартната Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Ρ‰Π΅ Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ намаляванС Π½Π° Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π½Π° Π±Π°Π·ΠΎΠ²ΠΎΡ‚ΠΎ разпространСниС, ΠΊΠΎΠ΅Ρ‚ΠΎ Π΅ Π²Π°ΠΆΠ½ΠΎ ΠΏΡ€ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Python Π½Π° Π²Π³Ρ€Π°Π΄Π΅Π½ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΈ с ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π½Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€