Python3:命名空间 AppIndicator3 不可用

问题描述 投票:0回答:3

操作系统:Kubuntu 18.04

我有一个Python程序(program.py),开头是这样的:

import shlex
import sys
import notify2
import os
import gi

gi.require_version("Gtk", "3.0")
from gi.repository import Gtk

gi.require_version("AppIndicator3", "0.1")
from gi.repository import AppIndicator3

当我运行它时,会发生以下情况:

$ python3 /path/to/program.py 
Traceback (most recent call last):
  File "/path/to/program.py", line 34, in <module>
    gi.require_version('AppIndicator3', '0.1')
  File "/home/linuxbrew/.linuxbrew/Cellar/[email protected]/3.8.5/lib/python3.8/site-packages/gi/__init__.py", line 129, in require_version
    raise ValueError('Namespace %s not available' % namespace)
ValueError: Namespace AppIndicator3 not available

相关信息:

$ python3 --version
Python 3.8.5

$ pip3 freeze
dbus-python==1.2.16
docutils==0.16
formiko==1.4.3
libxml2-python==2.9.10
meson==0.55.1
notify2==0.3.1
pycairo==1.19.1
PyGObject==3.36.1

$ brew install gobject-introspection
Warning: gobject-introspection 1.64.1_2 is already installed and up-to-date
To reinstall 1.64.1_2, run `brew reinstall gobject-introspection`

我还安装了以下内容:

libappindicator3-1 is already the newest version (12.10.1+18.04.20180322.1-0ubuntu1).
gir1.2-appindicator3-0.1 is already the newest version (12.10.1+18.04.20180322.1-0ubuntu1).
python3-gi is already the newest version (3.26.1-2ubuntu1).

什么可能导致 AppIndicator3 不被发现?

pygobject
3个回答
1
投票

尝试下掉9号线直接导入。


1
投票

如果您在使用 pystray 时遇到此问题,请尝试

sudo apt install gir1.2-appindicator3-0.1

0
投票

在 Fedora 中,您需要安装 libappindicator-gtk3

您需要有文件 /usr/lib64/girepository-1.0/AppIndicator3-0.1.typelib

即您需要在使用其他发行版时安装 gir 子包

© www.soinside.com 2019 - 2024. All rights reserved.