我现在有一个项目,我正在使用 WNCK 来查找打开窗口的位置,并将它们聚焦。我最近添加了需要 Python 3.5 的功能,但 WNCK 仅适用于 Python 2.7 或我安装的任何内容。运行 python3 stuff.py 时,我得到
导入错误:没有名为“wnck”的模块
有谁知道我如何获得 Python 3 的 wnck 库?我以前使用 sudo apt-get install python-wnck 为 python2 获得了它
我正在使用 Ubuntu,所以如果答案是“无法让 WNCK 工作,请切换到 X”,请确保它不是仅适用于 Windows 的解决方案
最佳答案
从 python3 开始, wnck 是 GObject Introspection API 的一部分。您现在可以通过以下方式访问 Debian 上的 python3 中的 wnck3(因此我认为在 Ubuntu 上也是如此):
apt-get install python3-gi gir1.2-wnck-3.0
显然,gir- 和 wnck- 版本会随时间变化(或者您可能需要例如较旧版本的 wnck),但是:
apt-cache search 'gir.*wnck'
应该足以找到你想要的东西。我个人更喜欢利用 aptitude-search 的力量
aptitude search '?depends(libgirepository) wnck'
由于 Introspection API 的灵活性,导入稍微复杂一些,例如:
>>> import gi
>>> gi.require_version('Wnck', '3.0')
>>> from gi.repository import Wnck
可以找到 python3/wnck3 的文档 here 。