我也完全与PyObject,PyGTK和GNOME 3混淆了

| 我安装了Fedora 15以使用Python3和GObject开发桌面应用程序,因为PyGTK看起来已经过时了:   PyGTK 2.24.0发布   2011年4月1日,星期五,拉斐尔·比利亚尔·伯克(Rafael Villar Burke)   PyGTK 2.24.0已发布。这是一个稳定的版本,支持GTK + 2.24 API。   建议希望使用GTK +开发Python应用程序的新用户使用PyGObject中可用的GObject-Introspection功能。[...]      PyGobject 2.26.0已发布。这是2.26.x系列中的第一个稳定版本,并引入了对自省和Python 3的初始支持。[...] 资料来源:http://www.pygtk.org/ 我以为罢工!使用Python 3和PyGObject开发新的Gnome3应用程序! 我访问了PyGObject页面,发现最新的稳定版本是2.28(自2.26开始支持Python3),该版本安装在Fedora上,但仅使用python2绑定。 有没有搞错? 我在站点上访问了PyGobject演示和示例,并查看了源代码,其中的每个代码都使用pygtk + pygtk.require(\'2.0 \')而不是pygobject。 我想念什么吗?如何使用Python3和PyGObject开发Gnome 3应用程序?     
已邀请:
        更新:这里有一些文档:Python GTK + 3教程。它仍然与GIO等无关。 不是……不是不可能,但是……因为您在谈论最新一代的GTK(&co)绑定,所以事情肯定会落后一些。开发人员的工作主要是针对实际的开发,而文档,示例等往往会在以后赶上。这就是自由软件的现实:/请记住,PyGI也是最近才合并到PyGObject中的,因此编辑历史数据还有另一个不连续之处。 所以我对你的回答是: 订阅PyGTK / PyGObject邮件列表,索取一些指针或参考资料或手持工具,然后从那里去。始终与开发人员保持联系确实是掌握一切的唯一方法。 保持这一刻(和那个人的面部表情)藏在大脑的某个角落,这样当您加快速度时,您-是的,先生,您-可以写下一些这样的东西,将其作为文档提交给处于这种情况的下一个不幸的灵魂。 (就我个人而言,我迫不及待地想花一些时间来尝试将某些东西与新的API结合在一起,但是我试图推迟到Gnome 3进入Debian。我急切地等待在脸上戴这样的表情。)     
        developer.gnome.org上的平台演示完全用GTK 3和GNOME 3编写。目前,只有两个可用于Python,其他尚未翻译,但这应该可以帮助您入门。 不幸的是,即使在GTK 3变得司空见惯之后的几年,您仍然会在网上碰到PyGTK 2教程,因为人们会一瞬间热情地编写它们,而再也不会更新它们。没人会拒绝它们,因为其中可能仍然包含有价值的材料,您只需更改X,Y和Z即可使其与GTK 3配合使用...这就是为什么仍可以找到C教程的原因在线GTK 1.2。 因此,如果您找到有关PyGTK 2的教程,则最好向托管它的任何人写一封电子邮件,告诉他们已过时。更好的是,更新GTK 3教程并向他们发送新版本!毕竟,它是开源的。     
        尽管     导入pygtk pygtk.require(\'2.0 \') 他们是内省的,如果您注释掉它们仍然可以运行的pygtk导入,我怀疑它只是一个疏忽,我最近花了很多时间尝试移植一些东西 告诉方法是代码如何导入gtk本身
#import pygtk
#pygtk.require(\'2.0\')
from gi.repository import Gtk, GLib, GObject, GdkPixbuf, Gio, Pango
表示如果代码使用大写G进行gtk事情,则使用自省,然后也进行自省:) 例如
#a pygtk window
awindow = gtk.Window()
#an introspection window
awindow = Gtk.Window()
    
我现在开发ѭ2did应用程序的工作是从此处下载并安装
Anaconda3
,然后使用以下方法创建新的虚拟环境:
conda create --name xld-attribute-value-adder python=3.4 pip setuptools pygobject
(我添加了“ 5”和“ 6”,因为在创建虚拟环境时,“ 7”用于添加它们。我知道我可以使用“ 5”来安装软件包,但是“ 6”的名称暗示它可以使用或用于类似的用途。) 然后ѭ10告诉我,它找不到
PyGObject
,我可以使用
binstar
(很棒的,另一个要记住的工具!)来搜索它,如下所示:
binstar search -t conda pygobject
但是,这会导致多个搜索结果:
Name                      |  Version | Package Types   | Platforms      
 ------------------------- |   ------ | --------------- | ---------------
 ???/pygobject3            |   3.12.0 | conda           | linux-64       
                                      : None
 KristanArmstrong/pygobject |   3.14.0 | conda           | win-64         
                                      : PyGObject is a Python extension module that gives clean and consistent access to the entire GNOME software platform through the use of GObject Introspection.
 fallen/pygobject          |   3.14.0 | conda           | linux-64, linux-32
                                      : PyGObject is a Python extension module that gives clean and consistent access to the entire GNOME software platform through the use of GObject Introspection.
 jeanconn/pygobject        |          | conda           | linux-64       
                                      : None
 pkgw/pygobject3           |   3.12.0 | conda           | linux-64       
                                      : None
 ska/pygobject             |   2.20.0 | conda           | linux-64       
                                      : Pipeline running tools
 vgauthier/pygobject       |   3.10.0 | conda           | osx-64         
                                      : Python Bindings for GLib/GObject/GIO/GTK+
那么如何知道我需要安装哪一个呢?我当然想要最新,最稳定的一款...其中有些没有资格,因为它们不适合我的
linux-64
系统。我想进行搜索,仅显示适用于系统的搜索,因此我发现一些信息告诉我,可以在Anaconda网站本身上进行这种搜索,并在搜索输入字段中输入以下内容:
access:public platform:linux-64 pygobject
现在,我只看到4个结果,但仍然不知道哪个是最新的,还是应该使用哪个。 Anaconda网站也不会告诉我这些存储库何时更新。因此,我认为版本号最高的应该是它。实际上,我发现了一个网站,其中指出ѭ17的版本是ѭ18的版本,或者至少该网站上的帖子是该日期之后的版本。 我创建了没有pygobject参数的虚拟环境:
conda create --name xld-attribute-value-adder python=3.4 pip setuptools
然后激活它:
source activate xld-attribute-value-adder
然后使用以下命令安装
PyGObject
conda install -c https://conda.anaconda.org/fallen pygobject
之后,我在IDE PyCharm中将该项目的“ 23”更改为新创建的虚拟环境的“ 24”二进制文件(是的,目前我正在为此项目使用PyCharm):
(Project Directory)/bin/python3.4
然后,我打开一个python文件,其中包含以下行:
from gi.repository import Gtk
PyCharm尚未找到Gtk或存在其他问题,因此我需要单击红色的带下划线的
Gtk
Alt+Enter
并选择为其创建二进制存根。 毕竟它终于工作了:)     

要回复问题请先登录注册