已获得批准。该提案最初于2019年提交,但直到最近(3月11日)才获准用于Python3.11。使用此PEP,Python3.11会将某些模块标记为已弃用,而Python3.12将是包含这些模块的最后一个版本。在Python3.13中,弃用的模块将被完全删除。此PEP提出了一个要从标准库中删除的标准库模块列表。这些模块中的大多数是遗留数据格式(例如Commodore和SUN文件格式)、API和长期被取代的操作系统(例如MacOS9),或者具有安全风险和更好的替代方案(例如密码和登录名)的模块。Python一直有“内含电池”的理念;目标是提供一个通用的标准库来处理许多常见的开发任务,而用户无需弄清楚如何下载和安装单独的库来编写简单的Web服务器或解析电子邮件。包裹。但随着时代的变迁,随着PyPI(néeCheeseshop)、setuptools和pip的引入,下载和安装包变得简单直接。Python现在还拥有一个丰富而充满活力的第三方包生态系统。另一方面,Python的标准库充斥着混乱、不必要的功能重复和可选特性。基于此,官方认为任何额外的模块都会增加Python核心开发团队的维护成本。在团队资源有限的情况下,降低维护成本可以腾出开发时间用于其他改进。标准库中的模块通常受到青睐,并被视为解决问题的实用方法。如果有令人信服的理由,例如,大多数用户只会选择第三方模块来替换stdlib模块。lxml而不是xml。删除未维护的stdlib模块会增加社区贡献的模块被广泛使用的机会。紧凑的标准库有利于资源有限的平台,例如只有几百KB内存的设备(例如BBCMicro:bit)。BeeWare或WebAssembly(如pyodide)等移动平台上的Python也受益于下载量的减少。此PEP中的模块已被弃用,因为它们的删除争议最少或最有益。例如,争议最小的是30年前的多媒体格式,例如sunau音频格式,它在80年代后期被用于SPARC和NeXT工作站。crypt模块有一些基本缺陷,在标准库之外可以更好地解决这些缺陷。此外,PEP将一些模块指定为不计划删除的模块。一些模块已被多个版本弃用,或者乍一看不是必需的。但是,将这些模块保留在标准库中有好处,主要用于无法从PyPI安装包的环境;包括ftplib、optparse、getopt和wave模块。CPython核心开发人员GregoryP.Smith在批准??PEP的讨论线程中表示,PEP-594从Python标准库中删除了一组无争议、非常陈旧、无人维护或过时的库。Python指导委员会希望这个PEP是一次性的,未来的弃用将以不同的方式处理。“这并不排除本PEP解决围绕我们如何随着时间的推移定义stdlib的持续讨论。我们似乎值得每隔几个版本定期审查stdlib的内容,这样我们就可以避免积累这么多没电的电池,但这超出了这个特定PEP的范围。”本文转自OSCHINA本文标题:Python提议从标准库中移除“deadbatteries”本文地址:https://www.oschina.net/news/186855/python-removes-dead-batteries-来自标准库
