gpt4 book ai didi

python - 如何使用 pip 更新 Python 标准库包?

转载 作者:行者123 更新时间:2023-11-28 20:35:18 27 4
gpt4 key购买 nike

我正在为我的 Python 项目创建一个 requirements.txt 文件。当有人通过 pip 安装我的项目时;我希望 pip 也下载 Tkintertime Python 模块,它们都是 Python 标准库中的模块。

我使用命令 pip freeze 列出了所有当前安装的 Python 包,但是当我向下滚动到 T 部分时,我找不到 列表中的 Tkintertime。然后,我尝试使用命令 pip install Tkinter 通过 pip 安装 Tkinter,但出现以下错误:

Could not find a version that satisfies the requirement Tkinter (from versions: )
No matching distribution found for Tkinter

我也对 time 做了同样的事情,得到了同样的错误。 (我正在运行 Python 3.6 和 Windows 10。)

是否有可能在 pip 安装我的包时让 pip 安装这些模块,或者我只需要相信因为用户安装了 Python 他们会还安装了 Tkintertime 吗?

欢迎并感谢所有帮助!

最佳答案

Python 的标准库 之所以称为标准库,是因为它是Python 的标准。也就是说,如果没有安装Standard Library,python环境根本就不是python。

标准库作为此版本的一部分与每个 Python 版本一起测试和发布(而不是作为添加或扩展)。

所以,是的,如果用户安装了 Python,您可以期望这些库存在。只是根据定义。


关于内置库的升级:不,你不能这样做。因为它们是 python 设置的一部分,而不是应用程序环境的一部分。 Python 与这些库中的特定代码紧密相关。所有 python 应用程序和库都期望这些库具有相同的行为,即使它们存在错误。

除此之外,您不能安装与 python 内置函数同名的模块/包,因为它会在导入时产生歧义,并可能混淆/破坏依赖它的所有其他库(或更糟,系统应用程序,如果你将它安装到系统 python 中)。

但是,在某些情况下,您可以找到某些库的向后移植。通常,它们从 py3 反向移植到 py2。当然,他们的名字已经改变了。

例如,您可以查看 concurrent.features库,它是 py3.2+ 中一个方便的内置函数,但在 py2.7 中不存在。


UPD:不过,正如@JulienPalard 在评论中暗示的那样,某些操作系统发行版可以拆分此标准库以简化二进制依赖项:例如,在 Debian 上,Tkinter 将作为 python3-tk 单独安装.

从二进制 OS 打包的角度来看,这确实是有道理的:如果您根本没有 UI 并且想节省磁盘空间,那么安装 python 库的 UI 部分是不值得的。

但是,您仍然无法通过pip 安装它。因为这个包在 PyPI 上没有单独打包和提供。此标准库分离由选定的 OS 发行版进行,并且仅通过该 OS 发行版解决。

关于python - 如何使用 pip 更新 Python 标准库包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46868526/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com