Python стандарт номын санд томоохон цэвэрлэгээ хийхээр төлөвлөж байна

Python төслийн хөгжүүлэгчид Нийтлэгдсэн стандарт номын сангийн томоохон цэвэрлэгээ хийх санал (PEP 594). Архитектурын асуудалтай, бүх платформд нэгтгэх боломжгүй илт хуучирсан, өндөр мэргэшсэн чадвар, бүрэлдэхүүн хэсгүүдийг Python стандарт номын сангаас устгахыг санал болгож байна.

Жишээлбэл, стандарт номын сангаас крипт (Windows-д ашиглах боломжгүй ба системийн номын санд хэш хийх алгоритмын боломжоос хамаарах), cgi (оновчгүй архитектур, хүсэлт бүрт шинэ процессыг эхлүүлэх шаардлагатай), imp гэх мэт модулиудыг хасахыг санал болгож байна. (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 дээр анхааруулга өгч, Python 3.10 дээрх CPython агуулахаас устгах явдал юм.
Шинжилгээний модулийг Python 3.9 хувилбар дээр, 2.5 салбар дахь macpath модулийг хуучирсан тул 3.8 хувилбар дээр устгахаар төлөвлөж байна. Үндсэн кодоос хасагдсаны дараа кодыг тусдаа legacylib репозитор руу шилжүүлэх бөгөөд хувь заяа нь нийгэмлэгийн гишүүдийн сонирхлоос хамаарна. Python 3.9 салбарыг 2026 он хүртэл дэмжих төлөвтэй байгаа бөгөөд энэ нь төслүүдийг гадаад хувилбар руу шилжүүлэхэд хангалттай хугацаа өгөх болно.

Эхэндээ ftplib, optparse, getopt, colorys, fileinput, lib2to3 болон долгионы модулиудыг устгахаар санал болгосон боловч тэдгээр нь өргөн тархсан бөгөөд байгаа хэдий ч хамааралтай хэвээр байгаа тул одоохондоо стандарт номын сангийн нэг хэсэг болгон үлдээхээр шийдсэн. илүү дэвшилтэт хувилбарууд эсвэл үйлдлийн системийн тодорхой чадавхитай холбох.

Python төсөл нь эхлээд "батерейг багтаасан" арга барилыг хэрэгжүүлж, стандарт номын санд төрөл бүрийн хэрэглээнд зориулсан баялаг функцуудыг санал болгож байсныг санаарай. Энэхүү аргын давуу талуудын нэг нь Python төслүүдийг хялбарчлах, төсөлд ашигласан модулиудын аюулгүй байдлыг хянах явдал юм. Модулиудын эмзэг байдал нь тэдгээрийг ашигладаг програмуудын эмзэг байдлын эх үүсвэр болдог. Хэрэв функцууд нь стандарт номын санд орсон бол үндсэн төслийн төлөв байдлыг хянахад хангалттай. Стандарт номын санг хуваахдаа хөгжүүлэгчид гуравдагч талын модулиудыг ашиглах шаардлагатай бөгөөд тэдгээрийн сул талыг тусад нь хянаж байх ёстой. Хэт их хуваагдмал, олон тооны хамаарал бүхий модуль хөгжүүлэгчдийн дэд бүтцэд халдах аюул заналхийлж байна.

Нөгөөтэйгүүр, стандарт номын сангийн нэмэлт модуль бүрийг ажиллуулахын тулд Python хөгжүүлэлтийн багаас нөөц шаардлагатай. Номын санд олон тооны давхардсан болон илүүдэл функцууд хуримтлагдсан бөгөөд үүнийг арилгах нь засвар үйлчилгээний зардлыг бууруулах боломжтой юм. Каталог хөгжихийн хэрээр PyPI нэмэлт багцуудыг суулгах, татаж авах үйл явцыг хялбаршуулж, гадаад модулиудыг ашиглах нь одоо суурилагдсан функцүүдийн нэгэн адил түгээмэл болсон.

Илүү олон хөгжүүлэгчид стандарт модулиудын хувьд илүү функциональ гадаад орлуулалтыг ашиглаж байна, жишээлбэл, xml-ийн оронд lxml модулийг ашиглаж байна. Стандарт номын сангаас орхигдсон модулиудыг устгах нь олон нийтийн идэвхтэй хөгжүүлсэн хувилбаруудын алдар нэрийг нэмэгдүүлэх болно. Нэмж дурдахад стандарт номын санг багасгах нь үндсэн түгээлтийн хэмжээг багасгахад хүргэдэг бөгөөд энэ нь хязгаарлагдмал хадгалах багтаамжтай суулгагдсан платформ дээр Python ашиглахад чухал юм.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх