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

How to install pygtk 3 on Mac OS X?

我尝试了什么:

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

我在发帖前通读了以下 questions/answers:

(请注意,如果我将 requires 更改为 2.0,则加载正常,但我收到警告:

"RuntimeWarning: You have imported the Gtk 2.0 module. Because Gtk 2.0 was not designed for use with introspection some of the interfaces and API will fail. As such this is not supported by the pygobject development team and we encourage you to port your app to Gtk 3 or greater. PyGTK is the recomended python module to use with Gtk 2.0" )

我遇到了同样的问题。 我按照 pygobject web.

上的说明进行操作
  • 安装自制程序
  • 执行 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

我遇到了同样的问题。我试过了

$ brew 安装 pygobject3 gtk+3

安装很顺利。然后检查为 Jeff 的答案:

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

一切顺利。

希望对您有所帮助,

干杯

问题是 pygobject3 的开发人员编写的安装说明没有考虑 pip/conda。如果按照官方文档:

  • 必须使用 homebrew python 安装(去的时候安装的 brew install python
  • brew install gtk+3 与非自制 Pip/Conda python 安装不兼容。您必须手动构建 GTK3 包才能使用 pygobject3 的 pip 版本。

但是如果你想使用 conda,多亏了 this conda contributor,你可以使用预构建的 conda gtk3 包,你只需要从他的频道获取它:

使用 conda 创建一个新环境:

conda create --name my_env

从 conda 安装 pygobject3

conda install pygobject

从 pkgw-forge 频道安装 gtk3

conda install -c pkgw-forge gtk3

要验证,请从 conda env 和 运行

中打开 python
import gi
gi.require_version("Gtk", "3.0")

应该没有错误

从 Conda-forge 频道安装 gtk3 发行版

https://github.com/conda-forge/gtk3-feedstock/tree/cb80587f33166c0e19abe20ea7885a03bffda4ab