ターミナルで次のコマンドを使用して高速プロジェクトを作成した場合:
_ quickly create ubuntu-application helloworld
_
次に、HelloworldWindow.pyに次の行を追加します。
_import sys
import pynotify
_
「import pynotify」という行は、アプリケーションを実行したいときにシステムで次のエラー出力を生成します
_quickly run
_
エラー出力:
/usr/lib/python2.7/dist-packages/gobject/constants.py:24:警告:g_boxed_type_register_static:アサーション
g_type_from_name (name) == 0' failed import gobject._gobject /usr/lib/python2.7/dist-packages/gtk-2.0/gtk/__init__.py:40: Warning: specified class size for type
PyGtkGenericCellRenderer 'は親型の_GtkCellRenderer' class size from gtk import _gtk /usr/lib/python2.7/dist-packages/gtk-2.0/gtk/__init__.py:40: Warning: g_type_get_qdata: assertion
_ node!= NULL'より小さいgtk import _gtkから
アプリケーションは起動しません。
しかし、次のpython-applicationを実行したい場合
_ #!/usr/bin/python
import sys
import pynotify
if __== "__main__":
if not pynotify.init("icon-summary-body"):
sys.exit(1)
n = pynotify.Notification(
"Notification",
"Hello notify! It works!",
"notification-message-im")
n.show()
_
例えばコードをファイル名「notify.py」に保存することで、ターミナルでコマンドを使用してコードを実行できます。
_python notify.py
_
通知は正常に機能します!
Via迅速に作成されたビアの問題は何ですかpython applicaton ??インポートが機能しないのはなぜですか??.
私はまったく同じ問題に遭遇しました。
これが私の解決策です。
from gi.repository import Notify
Notify.init ('Application')
notification = Notify.Notification.new ('Title', 'Message', 'dialog-information')
notification.show ()
pynotifyは、PythonでGTKを使用する古い方法であるpygtkで動作するように作成されました。新しいメソッドはgobjectイントロスペクションと呼ばれ、次のようなインポートがあります。
from gi.repository import Gtk
同じアプリケーションで古いシステムと新しいシステムを使用することはできません。また、迅速なテンプレートは新しいシステムを使用するため、pynotifyを使用することはできません。
新しいシステムと互換性のある代替品 notify2 があります。まだ正確ではありませんが、バックポートリクエストを送信しました。