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

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

我正在尝试从最初用于另一个(可能是基于Debian的)Linux分配的github repo安装基于Python的包。

该程序似乎使用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

我google自己累了,我发现的唯一的东西是对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.
  • 运行pip2 search notify返回数百个看似无关紧要的东西。
  • apt search notify相同。

问:我如何找到并安装正确的Notify产品?

python pip raspberry-pi3 notify pygobject
1个回答
2
投票

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

$ apt show gir1.2-notify-0.7

Package: gir1.2-notify-0.7
Source: libnotify
Version: 0.7.6-2
Maintainer: Debian GNOME Maintainers <[email protected]>
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

但你也可以使用notify2sudo pip2 install notify2

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