Я упаковываю приложение , которое я написал на Python 3, в котором используются:
from gi.repository import AppIndicator3
Поскольку я перечисляю зависимости, я не смог определить, какой пакет содержит AppIndicator3
. Я догадался python-appindicator
, но, глядя на этот пакет, кажется, что он для Python 2, а не Python 3.
От какой упаковки я должен зависеть?
Вы импортируете от 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
.
Для моих собственных индикаторов я использую gir1.2-appindicator3-0.1
как зависимость. Если я вспоминаю правильно libappindicator3-dev
для разработки. Любой работает, по моему опыту.
Я выполнил процедуру, описанную в ответе muru на Ubuntu 18.04 с рабочим столом GNOME, и получил точно тот же вывод как muru отчеты для Ubuntu 14.04:
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
просто откройте терминал Ctrl+Alt+T и введите
sudo apt-get install gir1.2-appindicator3-0.1
Нет необходимости устанавливать полный пакет разработки.
Проверено на убунту 20.04.
Как я к этому пришел?
Я попробовал sudo apt install libappindicator3-dev
и нажал 'n' (не устанавливать). Из списка пакетов первым был gir1.2-appindicator3-0.1
, поэтому установил именно его.