1

我已经安装了 gnuhealth,当我运行 gnuhealthclient 并使用我的用户名和密码登录时,它显示一条带有 gtk 问题的错误消息:找不到模块

我正在使用 centos 7,并且已经使用以下命令安装了 gtk+ 和 gtk3:

$sudo yum 安装 gtk3

$sudo yum install gtk3-devel

$sudo yum 安装 gtk+

当我检查已安装软件包的列表时,我发现了 gtk+ 和 gtk3 甚至 gtk 2

谁能告诉我有什么问题?

这是错误消息:


    if not self.screen.row_activate() and self.children_field:

  File "/home/gnuhealth/.local/lib/python3.6/site-packages/tryton/gui/main.py", line 707, in menu_row_activate

    }, warning=False)

  File "/home/gnuhealth/.local/lib/python3.6/site-packages/tryton/action/main.py", line 195, in exec_keyword

    Action._exec_action(action, data, context=context)

  File "/home/gnuhealth/.local/lib/python3.6/site-packages/tryton/action/main.py", line 155, in _exec_action

    context_domain=action['context_domain'])

  File "/home/gnuhealth/.local/lib/python3.6/site-packages/tryton/gui/window/window.py", line 31, in create

    from .form import Form

  File "/home/gnuhealth/.local/lib/python3.6/site-packages/tryton/gui/window/form.py", line 9, in <module>

    import gtk
ModuleNotFoundError: No module named 'gtk'```

4

2 回答 2

2

您的 .py 文件应包含

导入gtk

应该替换为

从 gi.repository 导入 Gtk

在 Gnuhealth 源代码中,一些文件包含两个库调用,其他文件只调用 gtk 库而不精确源存储库。代码不是很干净。

感谢这里的这些解释:gi.repository 是 PyGObject(代表 Python GObject 自省)的 Python 模块,它包含 Python 绑定和对 GTK+ 3 工具包和 GNOME 应用程序的支持

于 2020-09-11T16:24:34.180 回答
1

首先导入gi

import gi

设置所需的版本

gi.require_version('Gtk', '3.0')

最后

from gi.repository import Gtk
于 2020-11-22T03:41:38.457 回答