Python的标准库被称为标准库,因为它是Python的一个标准。换句话说,如果没有安装标准库,那么python环境根本就不是python。在
标准库与每个Python版本一起测试和发布,作为这个版本的一部分(而不是作为一个添加或扩展)。在
所以,是的,如果用户安装了Python,您可以期望这些库存在。只是根据定义。在
关于内置库的升级:不,您不能这样做。因为它们是python设置的一部分,而不是应用程序环境的一部分。Python与这些库中的特定代码非常紧密地绑定在一起。所有python应用程序和库都期望这些库具有相同的行为,即使它们是有缺陷的。在
除此之外,您不能安装与python的某个内置项同名的模块/包,因为它会在导入时产生歧义,并且会混淆/破坏依赖它的所有其他库(或者更糟的是,如果您将其安装到系统python中,则会破坏系统应用程序)。在
但是,在某些情况下,您可以找到一些库的后台端口。通常,它们是从py3到py2的后端口。当然,他们的名字改了。在
作为一个例子,您可以查看^{}库,它是py3.2+中一个方便的内置程序,但在py2.7中却没有。在
UPD:不过,正如@julienparad在评论中所暗示的那样,一些操作系统发行版可以拆分这个标准库来简化二进制依赖关系:例如,在Debian上,Tkinter可以作为python3 tk单独安装。在
实际上,从二进制操作系统打包的角度来看,这是有意义的:如果您根本没有UI并且希望节省磁盘空间,那么安装python库的UI部分是不值得的。在
但是,您仍然无法通过pip安装它。因为这个包不是单独打包在PyPI上的。这个标准库分离是由选定的操作系统发行版进行的,并且仅通过该操作系统发行版来解决。在