如何在Mac OS X上安装PyGTK 3?

9
我尝试过的内容:
brew install pygobject3 --with-python@2 gtk+3
brew install pygtk3
brew install pygobject3
pip install pygobject

python -c 'import gi; gi.require_version("Gtk", "3.0")'

结果:

ValueError: Namespace Gtk not available for version 3.0

请注意,我正在使用conda和Python 3.6,并且使用Mac OS X High-Sierra。
在发布之前,我阅读了以下问题/答案: (请注意,如果我将 requires 更改为 2.0 ,则它可以正常加载,但我会收到警告:

“运行时警告:您已导入Gtk 2.0模块。由于Gtk 2.0不适用于内省使用,因此某些接口和API将失败。因此,这不受pygobject开发团队的支持,我们鼓励您将应用程序转换为Gtk 3或更高版本。 PyGTK是与Gtk 2.0一起使用的推荐python模块。”

4个回答

4
问题在于pygobject3的开发人员编写了安装说明,但并未考虑pip/conda。如果遵循官方文档:
  • 必须使用homebrew python安装(当您执行 brew install python 时安装的那个)
  • brew install gtk+3与非homebrew Pip/Conda python安装不兼容。您必须手动构建GTK3包才能使用pip版本的pygobject3。

但是,如果您想使用conda,由于这位conda贡献者,有预构建的conda gtk3包可供使用,只需从他的频道获取即可:

使用conda创建一个新环境:

conda create --name my_env

从conda安装pygobject3

conda install pygobject

从pkgw-forge渠道安装gtk3

conda install -c pkgw-forge gtk3

验证方式为,从conda虚拟环境中打开Python并运行以下命令:

import gi
gi.require_version("Gtk", "3.0")

应该不会出现错误


3

我遇到过同样的问题,我尝试了

$ brew install pygobject3 gtk+3

安装很顺利。然后按照Jeff的回答进行检查:

$ python3 -c 'import gi; gi.require_version("Gtk", "3.0"); print("ok")'

得到了“ok”。

希望这可以帮到你,祝好!


2

我遇到了同样的问题。 我按照pygobject网站上的说明进行操作。

  • 安装homebrew
  • 执行brew install pygobject3 --with-python@2 gtk+3
  • 运行python3 hello.py

现在一切都正常了(请注意,我在测试中使用的是python3而不是python):

$ python3 -c 'import gi; gi.require_version("Gtk", "3.0"); print("ok")'
ok

1
我正在使用macOS Mojave(版本:10.14.5)。我尝试了上述命令,但出现错误:无效选项:--with-python@2。 - Biranchi


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接