PyGObject for Python 3.5.1?

时间:2016-04-13 23:21:39

标签: python-3.x pip pygobject

我正在使用Debian Linux,我从Synaptic安装了python3-gi包,如果我使用Python 3.4解释器,这可以正常工作。但是,当我使用3.5运行Gtk + 3程序时,它会卡在from gi.repository import Gtk行,说没有名为Gtk的模块。另外,我不会认为 pip适用于我的计算机上的Python 3.5,虽然我不确定。我只知道pip install PyGObject不起作用。最后,当我尝试使用Pycharm的特定软件包安装程序(Settings / Project Interpreter)时,Pycharm告诉我我没有安装Python打包工具(当我点击它提供的提示时它无法安装它们。)

我有64位计算机,Python 3.5安装到/ usr / local / bin /,Python 3.4安装到/ usr / bin /。

2 个答案:

答案 0 :(得分:0)

你不能使用pip,你必须自己下载pygobject并从源代码构建它。 https://download.gnome.org/sources/pygobject/

答案 1 :(得分:0)

这就是我在Mac OS Sierra上使用GStreamer绑定等运行Python 3.6的方法。

从第1步开始,如果您已经安装了Gstreamer及其插件,则需要将其绑定到python解释器进行开发。

0-从他们的网站安装gstreamer ...正常然后

0b- brew install gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-libav

1- brew install gst-python --with-python3

但请注意,由于某种原因'gtk'没有预先捆绑,所以我们转到第2步。

2- brew install gtk + 3

就是这样,很容易就像 ABC ......

附件是一个测试python代码,以确保您正确的一切[可选]

import gi, time, sys
gi.require_version('Gst', '1.0')
gi.require_version('GstBase', '1.0')
gi.require_version('Gtk', '3.0')
from gi.repository import GObject, Gst, GstBase, Gtk, GObject

class Main:
   def __init__(self):
       Gst.init(None)
       self.pipeline = Gst.Pipeline()
       self.audiotestsrc = Gst.ElementFactory.make('audiotestsrc',  'audio')
       self.pipeline.add(self.audiotestsrc)

       self.sink = Gst.ElementFactory.make('autoaudiosink', 'sink')
       self.pipeline.add(self.sink)
       self.audiotestsrc.link(self.sink)
       self.pipeline.set_state(Gst.State.PLAYING)
       time.sleep(3)
       self.pipeline.set_state(Gst.State.PAUSED)
       self.pipeline.set_state(Gst.State.READY)
       self.pipeline.set_state(Gst.State.NULL)
       sys.exit(0)
start =  Main()
Gtk.main()

希望你的事情有效,c ya !!