如何在 RPi3 上安装和使用 python PyGObject "Notify"(或等效)

How to install and use python PyGObject "Notify" (or equivalent) on a RPi3

我正在尝试从 github 存储库安装一个基于 Python 的软件包,该软件包最初是为另一个(可能基于 Debian)Linux 发行版准备的。

程序好像用的是Python2,导入如下:

import argparse
import logging
import Queue
import collections
import ConfigParser
import os
import socket
import random
import gi

gi.require_version('Notify', '0.7')
from gi.repository import Notify

from multiprocessing import Process, Queue as MPQueue, Event
...
def notif(msg):
    Notify.init("TheProg")
    notice = Notify.Notification.new("Critical !", msg)
    notice.set_urgency(2)

但是,当我尝试 运行 我得到这个程序时:

$ python2 main.py -h

Traceback (most recent call last):
  File "main.py", line 11, in <module>
    gi.require_version('Notify', '0.7')
  File "/usr/lib/python2.7/dist-packages/gi/__init__.py", line 100, in require_version
    raise ValueError('Namespace %s not available' % namespace)
ValueError: Namespace Notify not available

我用谷歌搜索自己很累,我唯一找到的是一些对 PyGObject API Reference:

的神秘引用
gir1.2-notify-0.7 (0.7.7-3) 

Parent Project: 
    Desktop notification library (libnotify is a library for sending desktop notifications)
Description:    
    A library that sends desktop notifications to a notification daemon, as 
    defined in the Desktop Notifications spec. These notifications can be 
    used to inform the user about an event or display some form of 
    information without getting in the user’s way.

问:如何找到并安装正确的 Notify 东西?

发布问题后不久,我找到了解决方案。

$ apt show gir1.2-notify-0.7

Package: gir1.2-notify-0.7
Source: libnotify
Version: 0.7.6-2
Maintainer: Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.org>
Installed-Size: 22.5 kB
Depends: gir1.2-gdkpixbuf-2.0, gir1.2-glib-2.0, libnotify4 (>= 0.7.3)
Priority: optional
Section: introspection
Download-Size: 19.8 kB
APT-Manual-Installed: yes
APT-Sources: http://mirrordirector.raspbian.org/raspbian/ jessie/main armhf Packages
Description: sends desktop notifications to a notification daemon (Introspection files)
 A library that sends desktop notifications to a notification daemon, as
 defined in the Desktop Notifications spec. These notifications can be
 used to inform the user about an event or display some form of
 information without getting in the user's way.
 .
 This package can be used by other packages using the GIRepository format to
 generate dynamic bindings.

然后通过安装解决了问题:

$ sudo apt-get install gir1.2-notify-0.7

但您也可以将 notify2 用于:sudo pip2 install notify2.