每当我单击图标启动时software and updates
,程序都会启动然后停止。我甚至尝试从命令行启动它,但同样的事情发生了。
/usr/lib/python3/dist-packages/softwareproperties/gtk/SoftwarePropertiesGtk.py:40: PyGIWarning: Gdk was imported without specifying a version first. Use gi.require_version('Gdk', '3.0') before import to ensure that the right version gets loaded.
from gi.repository import GObject, Gdk, Gtk, Gio, GLib
/usr/lib/python3/dist-packages/softwareproperties/gtk/SoftwarePropertiesGtk.py:40: PyGIWarning: Gtk was imported without specifying a version first. Use gi.require_version('Gtk', '3.0') before import to ensure that the right version gets loaded.
from gi.repository import GObject, Gdk, Gtk, Gio, GLib
此行为很奇怪,因为命令退出时没有任何错误 ( echo $?
)。还有什么原因导致它像这样失败?
奇怪的是,如果我以 root 身份启动它(gksu software-properties-gtk
),它可以正常工作。
答案1
问题是我作为用户安装的 Python 版本没有包含运行该程序所需的 gtk 库。
当我以 root 身份运行它时,它使用系统的 python 安装,其中已经内置了所有这些库,因此它自然就可以工作了。
该问题已在后续版本中得到修复,software-properties-gtk
因为程序顶部的 shebang 行现在显示:
#!/usr/bin/python3
代替#!/usr/bin/env python3
。
后者导致它使用用户自己的 python3 版本,而前者(现在是事实上的)使用系统安装的 python3 版本