自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Python 通過(guò)從標(biāo)準(zhǔn)庫(kù)中刪除“dead batteries”提案

開發(fā)
由 Python 貢獻(xiàn)者 Christian Heimes 和 Brett Cannon 提出的一項(xiàng),從 Python 標(biāo)準(zhǔn)庫(kù)中刪除過(guò)時(shí)的和未維護(hù)的模塊的 Python Enhancement Proposal (PEP) 594 已被批準(zhǔn)通過(guò)。

由 Python 貢獻(xiàn)者 Christian Heimes 和 Brett Cannon 提出的一項(xiàng),從 Python 標(biāo)準(zhǔn)庫(kù)中刪除過(guò)時(shí)的和未維護(hù)的模塊的 Python Enhancement Proposal (PEP) 594 已被批準(zhǔn)通過(guò)。該提案最初于 2019 年提交,但直到近日才(3 月 11 日)被批準(zhǔn)用于 Python 3.11。有了這個(gè) PEP,Python 3.11 會(huì)將某些模塊標(biāo)記為已棄用,Python 3.12 將是最后一個(gè)版本包括這些模塊。在 Python 3.13 中,不推薦使用的模塊將被完全刪除。

此 PEP 提出了一個(gè)要從標(biāo)準(zhǔn)庫(kù)中刪除的標(biāo)準(zhǔn)庫(kù)模塊清單。這些模塊大多是歷史數(shù)據(jù)格式(例如 Commodore 和 SUN 文件格式)、API 和早已被取代的操作系統(tǒng)(例如 Mac OS 9),或者具有安全隱患和更好替代方案(例如密碼和登錄)的模塊。

一直以來(lái),Python 都有著“batteries included”的理念;其目標(biāo)是提供一個(gè)通用的標(biāo)準(zhǔn)庫(kù)來(lái)處理許多常見的開發(fā)任務(wù),用戶不必為了編寫簡(jiǎn)單的 Web 服務(wù)器或解析電子郵件而弄清楚如何下載和安裝單獨(dú)的包。

但隨著時(shí)代的變遷,PyPI(née Cheeseshop)、setuptools 和 pip 的引入,下載和安裝包變得簡(jiǎn)單直接。Python 如今也擁有了豐富而充滿活力的第三方包生態(tài)系統(tǒng)。另一方面,Python 的標(biāo)準(zhǔn)庫(kù)堆滿了雜亂無(wú)章的、不必要的功能重復(fù)和可有可無(wú)的特性?;诖?,官方認(rèn)為:

任何額外的模塊都會(huì)增加 Python 核心開發(fā)團(tuán)隊(duì)的維護(hù)成本。團(tuán)隊(duì)資源有限,減少的維護(hù)成本可以騰出開發(fā)時(shí)間用于其他改進(jìn)。

標(biāo)準(zhǔn)庫(kù)中的模塊通常受到青睞,并被視為問(wèn)題的實(shí)際解決方案。大多數(shù)用戶只有在有令人信服的理由時(shí)才會(huì)選擇第三方模塊來(lái)替換 stdlib 模塊,例如, 用lxml替代xml。刪除未維護(hù)的 stdlib 模塊增加了社區(qū)貢獻(xiàn)的模塊被廣泛使用的機(jī)會(huì)。

一個(gè)精簡(jiǎn)的標(biāo)準(zhǔn)庫(kù)有利于資源有限的平臺(tái),例如只有幾百 KB 存儲(chǔ)空間的設(shè)備(如 BBC Micro:bit)。BeeWare 或 WebAssembly(如 pyodide)等移動(dòng)平臺(tái)上的 Python 也因下載量減少而受益。

此 PEP 中被棄用的模塊要么是因?yàn)樗鼈兊囊瞥亲顩]有爭(zhēng)議的,要么是最有益的。例如,爭(zhēng)議最小的有 30 年前的多媒體格式,如 sunau 音頻格式,在 80 年代末期被用于 SPARC 和 NeXT 工作站。crypt模塊具有根本缺陷,可以在標(biāo)準(zhǔn)庫(kù)之外更好地解決。

此外,該 PEP 也指定了一些模塊為未計(jì)劃刪除的模塊。有些模塊已經(jīng)被廢棄了幾個(gè)版本,或者乍一看沒有必要。然而,將這些模塊保留在標(biāo)準(zhǔn)庫(kù)中是有好處的,這主要是針對(duì)那些不能從 PyPI 安裝軟件包的環(huán)境;包括 ftplib、optparse、 getopt 以及 wave 模塊。

CPython 核心開發(fā)人員 Gregory P. Smith 在批準(zhǔn) PEP 的討論線程中表示,PEP-594 從 Python 標(biāo)準(zhǔn)庫(kù)中刪除了一組沒有爭(zhēng)議的、非常老的、沒有維護(hù)的或過(guò)時(shí)的庫(kù)。Python 指導(dǎo)委員會(huì)希望這個(gè) PEP 是個(gè)一次性事件,而未來(lái)的廢棄將以不同的方式處理。

“解決圍繞我們?nèi)绾伍L(zhǎng)期定義 stdlib 的持續(xù)討論并不妨礙這個(gè) PEP。對(duì)我們來(lái)說(shuō),每隔幾個(gè)版本就對(duì) stdlib 的內(nèi)容進(jìn)行一次定期審查似乎是值得的,這樣我們就可以避免積累這么多的 dead batteries,但這超出了這個(gè)特定 PEP 的范圍?!?/p>

本文轉(zhuǎn)自O(shè)SCHINA

本文標(biāo)題:Python 通過(guò)從標(biāo)準(zhǔn)庫(kù)中刪除“dead batteries”提案

本文地址:https://www.oschina.net/news/186855/python-removes-dead-batteries-from-stdlib

責(zé)任編輯:未麗燕 來(lái)源: 開源中國(guó)
相關(guān)推薦

2022-05-18 09:42:29

PythonGILGross

2010-02-03 11:26:28

2020-09-25 12:48:53

騰訊云區(qū)塊鏈ITU

2020-09-20 21:07:26

GitHub代碼 C++

2012-07-18 20:48:58

Python

2021-07-21 17:19:03

Fedora 35軟件包更新

2020-07-11 17:17:29

騰訊視頻

2019-06-03 10:50:03

Python 開發(fā)編程語(yǔ)言

2010-02-24 14:47:05

2017-04-24 13:31:11

專利5G通信

2023-09-05 08:40:57

刪除數(shù)據(jù)庫(kù)Oracle

2013-12-12 16:59:15

Lua表處理

2013-12-03 17:28:56

Lua腳本語(yǔ)言

2021-10-30 18:59:15

Python

2010-03-26 13:39:28

Python標(biāo)準(zhǔn)庫(kù)

2021-10-07 09:04:49

Collections數(shù)據(jù)結(jié)構(gòu)

2014-01-14 09:10:53

GoHTTP內(nèi)存泄漏

2012-04-16 15:26:17

Blue Coat通用標(biāo)準(zhǔn)

2023-12-22 08:13:39

業(yè)務(wù)review流程
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)