无法在Python中导入“gi”以满意地执行“ibussetup”`

2024-04-20 13:18:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我的问题类似于3年前描述的here,但在我的案例中是在ArchLinux5.3.7上。不过,不确定这是不是该问的地方。你知道吗

动机:我想运行ibus-setup来纠正我认为的键绑定CTRL-SHIFT-E被我的GTK应用程序(Firefox+LibreOffice)劫持,从而打开一个恼人的emoji picker窗口。具体来说,我想抑制我认为可能是默认GTK键绑定的内容。你知道吗

我想我可以试试ibus-setup。你知道吗

$ ibus-setup
Traceback (most recent call last):
  File "/usr/share/ibus/setup/main.py", line 33, in <module>
    from gi import require_version as gi_require_version
ModuleNotFoundError: No module named 'gi'

我发现“gi”是我安装的包extra/python-gobject的一部分,还有extra/python2-gobjectextra/python-gobject2。你知道吗

我在全局python3.7.4环境和python2.7.16(pyenv)虚拟环境中再次运行了$ ibus-setup,不过ibus-setup启动的进程之外的pythonrte应该无关紧要。同样的错误。你知道吗

/usr/share/ibus/setup/main.py是python2代码,我看不出在如何调用gi方面有任何明显的错误。你知道吗

我甚至尝试了小的python片段here,以检查在python3.7和python2.7中从python调用时gi是否正确导入。运行良好,这意味着gi可以从python控制台正确导入。你知道吗

我被难住了。有人吗?你知道吗


Tags: pysharegtkheremainversionusrsetup