我正在包装一个我写的应用程序在 Python 3 中使用:
from gi.repository import AppIndicator3
当我列出依赖项时,我无法确定哪个包包含AppIndicator3
。我猜是的python-appindicator
,但看那个包似乎适用于 Python 2,而不是 Python 3。
我应该依赖哪个包?
答案1
您正在从 导入gi.repository
。此模块的文件是:
$ python3 -c 'import gi.repository, sys; print (sys.modules["gi.repository"].__file__)'
/usr/lib/python3/dist-packages/gi/repository/__init__.py
该文件来自:
$ dpkg -S $(python3 -c 'import gi.repository, sys; print (sys.modules["gi.repository"].__file__)')
python3-gi: /usr/lib/python3/dist-packages/gi/repository/__init__.py
因此,您需要的软件包(至少在 14.04 上)是python3-gi
。
答案2
我按照muru 的回答在带有 GNOME 桌面的 Ubuntu 18.04 上,得到了与 Ubuntu 14.04 的 muru 报告完全相同的输出:
python3-gi: /usr/lib/python3/dist-packages/gi/repository/__init__.py
但是,为了运行包含以下行的脚本
from gi.repository import AppIndicator3
我不仅要安装,python3-gi
而且还要安装libappindicator3-dev
:
sudo apt install libappindicator3-dev
答案3
对于我自己的指标,我将其用作 gir1.2-appindicator3-0.1
依赖项。如果我没记错的话,libappindicator3-dev
它用于开发。根据我的经验,两者都有效。
答案4
只需打开终端 Ctrl+Alt+T 并输入
sudo apt-get install gir1.2-appindicator3-0.1
无需安装完整的开发包。
已在 ubuntu 20.04 上测试。
我是怎么得出这个结论的?
我试了一下sudo apt install libappindicator3-dev
,然后按了“n”(不安装)。从软件包列表中,第一个就是gir1.2-appindicator3-0.1
安装的。