Hug*_*ins 7 python pygtk pip macos-sierra
我试过的:
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")'
Run Code Online (Sandbox Code Playgroud)
结果:
ValueError: Namespace Gtk not available for version 3.0
Run Code Online (Sandbox Code Playgroud)
请注意,我正在使用 python 3.6 运行 conda;和 Mac OS X High-Sierra
在发布之前,我通读了以下问题/答案:
(请注意,如果我将 更改requires为2.0,则它可以正常加载,但我收到警告:
"RuntimeWarning: 您已经导入了 Gtk 2.0 模块。因为 Gtk 2.0 不是为使用自省而设计的,某些接口和 API 将失败。因此,pygobject 开发团队不支持这一点,我们鼓励您将您的应用程序移植到Gtk 3 或更高版本。PyGTK 是推荐用于 Gtk 2.0" 的 Python 模块
问题是 pygobject3 的开发人员编写的安装说明没有考虑 pip/conda。如果您遵循官方文档:
brew install python)brew install gtk+3与非自制 Pip/Conda python 安装不兼容。您必须手动构建 GTK3 包才能使用 pygobject3 的 pip 版本。但是,如果你想使用 conda,感谢这个 conda 贡献者,你可以使用一个预构建的 conda gtk3 包,你只需从他的频道获取它:
使用 conda 创建新环境:
conda create --name my_env
Run Code Online (Sandbox Code Playgroud)
从 conda 安装 pygobject3
conda install pygobject
Run Code Online (Sandbox Code Playgroud)
从 pkgw-forge 频道安装 gtk3
conda install -c pkgw-forge gtk3
Run Code Online (Sandbox Code Playgroud)
要验证,请从 conda env 中打开 python 并运行
import gi
gi.require_version("Gtk", "3.0")
Run Code Online (Sandbox Code Playgroud)
应该没有错误
| 归档时间: |
|
| 查看次数: |
4731 次 |
| 最近记录: |