Wil*_* V. 4 python pip tkinter python-3.x requirements.txt
我正在为我的 Python 项目创建一个requirements.txt
文件。当有人通过安装我的项目时pip
;我还想pip
下载Tkinter
和time
Python 模块,这两个模块都是 Python 标准库中的模块。
我使用该命令pip freeze
列出了当前安装的所有 Python 包,但是当我向下滚动到T部分时,我在列表中找不到Tkinter
或。然后我尝试使用命令time
安装 Tkinter但出现以下错误:pip
pip install Tkinter
Could not find a version that satisfies the requirement Tkinter (from versions: )
No matching distribution found for Tkinter
Run Code Online (Sandbox Code Playgroud)
我也做了同样的事情time
并得到了同样的错误。(我运行的是 Python 3.6 和 Windows 10。)
是否可以在安装我的包pip
时安装这些模块pip
,或者我是否必须相信这一点,因为用户安装了Python,他们也会Tkinter
安装这些time
模块?
欢迎并感谢所有帮助!
Python的标准库之所以被称为标准库,是因为它是Python的一个标准。换句话说,如果没有安装标准库,那么python环境根本就不是python。
标准库作为该版本的一部分(而不是作为附加或扩展)与每个 Python 版本一起进行测试和发布。
所以,是的,如果用户安装了 Python,那么这些库就会存在。只是根据定义。
关于内置库的升级:不,你不能这样做。因为它们是 python 设置的一部分,而不是应用程序环境的一部分。Python 与这些库中的特定代码非常紧密地绑定。所有 python 应用程序和库都期望这些库具有相同的行为,即使它们有错误。
除此之外,您不能安装与 python 内置函数之一同名的模块/包,因为它会在导入时产生歧义,并且可能会混淆/破坏依赖于它的所有其他库(或更糟糕的是,系统应用程序(如果将其安装到系统 python 中)。
但是,在某些情况下,您可以找到某些库的向后移植。通常,它们从 py3 向后移植到 py2。当然,他们的名字被改变了。
例如,您可以查看concurrent.features
库,它是 py3.2+ 中一个方便的内置函数,但在 py2.7 中不存在。
UPD:不过,正如 @JulienPalard 在评论中暗示的那样,某些操作系统发行版可以拆分此标准库以简化二进制依赖关系:例如,在 Debian 上,Tkinter 将作为 python3-tk 单独安装。
从二进制操作系统打包的角度来看,这确实是有道理的:如果您根本没有 UI 并且想要节省磁盘空间,那么安装 python 库的 UI 部分是不值得的。
但是,您仍然无法通过pip
. 因为这个包没有在 PyPI 上单独打包和提供。这种标准库分离是由选定的操作系统发行版进行的,并且只能通过该操作系统发行版的方式来解决。
归档时间: |
|
查看次数: |
6371 次 |
最近记录: |