Python3中python-xlib、python3-xlib、pyxlib与xlib的差异是什么?
Python 3.8下python-xlib、python3-xlib、pyxlib和xlib包的差异分析
python-xlib:这是当前最主流、维护最活跃的X11 Python绑定,属于标准实现。它包含完整的Xlib核心功能以及各类扩展支持(比如你用到的randr),代码结构规范,配套文档齐全,包大小处于正常范围,也是官方推荐使用的版本,你测试的代码就是基于它的标准API编写的。
python3-xlib:这个包是python-xlib早期针对Python 3的兼容分支,如今主分支的python-xlib已经完全支持Python 3,它的存在更多是为了兼容老旧的Python 3环境。功能上和python-xlib基本一致,但可能残留一些过时的兼容代码,包大小和python-xlib接近,但因冗余兼容代码略有差异。
pyxlib:这是第三方做的轻量级实现,只覆盖了Xlib的核心基础功能,没有完整实现所有扩展(你的测试代码刚好用到了它实现的部分,所以能运行,但复杂扩展场景可能会出错)。包体积更小,因为它省略了边缘功能、文档和测试代码,适合只需要基础X11交互的场景。
xlib:这个包属于非官方的复刻或打包不规范的版本,大概率是python-xlib的镜像,但可能打包时混入了额外的示例、测试用例或者冗余数据,所以包大小更大。功能上和python-xlib一致,但维护性差,不建议使用。
你测试的代码能在四个包上运行,是因为它们都实现了Xlib的核心API子集,但在功能完整性、维护状态、包内附带内容上有明显区别。
内容的提问来源于stack exchange,提问作者Robert Siemer
相关产品推荐
相关产品推荐

