如何安装 PyGObject?

Kad*_*iel 5 pygtk pygobject python-2.7

我正在尝试在 Windows 7 上安装 PyGtk for Python 2.7,但是当使用 pip 安装 PyGtk 时,它说我需要 PyGObject (见图),所以我安装了 Python 的 Visual C++ 包(我知道我有正确的版本)并且尝试使用 pip 安装 PyGObject,但它不断出现错误消息,指出 cairo.h 丢失,果然我检查了该目录,但它不在那里。我到底应该如何安装 PyGObject?

错误信息

小智 0

虽然还有很长的路要走,而且还需要在这里和那里进行一些调整,但它是有效的。我用的是Python 3.6,不知道2.7是否可以使用。

首先,从此处获取适用于 Windows 的 GTK+3 的构建脚本 ( https://github.com/guruDanny67/gvsbuild )。它是这个存储库 ( https://github.com/wingtk/gvsbuild ) 的一个分支,但它似乎与各个版本的软件包更新了。我使用了“ed2018”分支,这似乎是最相关的,但该分支的更改可能会以“master”结束,因此请检查前后的提交数量。

如果您没有在 Visual Studio 2017 中安装 C++ 工作负载,您还需要 Visual Studio 2017 构建工具。您也可以使用 VS 2015,但我没有尝试。2017 构建工具位于: https: //visualstudio.microsoft.com/downloads/#other。您可能还应该包含“VC++ 2015.3 v14.00 桌面工具集”。

您需要安装Python。我用的是3.6版本,其他的不知道。

另外,您还需要 MSYS2 ( http://www.msys2.org/ )。它仅用于一些需要的工具。

编译/安装(大部分)非常简单,但需要一些时间(SSD 可能有很大帮助)。只需阅读 gvsbuild 页面上的说明即可。如果您逐步构建,则--fast-build在命令行中包含参数会有所帮助。

您可以获得可以使用以下方式构建的所有项目的列表

python build.py list
Run Code Online (Sandbox Code Playgroud)

或者简单地

build list
Run Code Online (Sandbox Code Playgroud)

如果您安装了 Python 启动器。

构建的所有选项:

build build --help
Run Code Online (Sandbox Code Playgroud)

有一个 pygobject 和 pycairo 的构建项目,它将它们安装在已安装的 Pythonsite-packages目录中。但是,更好的方法是卸载它们(pip如果 pip 抱怨,则使用或仅删除目录)。

然后,从 PyPi 站点( https://pypi.org/project/pycairo/https://pypi.org/project/PyGObject/ )下载 PyCairo 和 PyGObject 的源代码。将包含一堆lib文件的目录添加到环境变量中LIB(应该类似于f:\gtk-build\gtk\Win32\release\lib)。将包含目录添加到INCLUDE环境变量 ( c:\gtk-build\gtk\Win32\release\include),然后setup build首先运行 Cairo 的脚本。如果构建完成,则运行setup bdist_wininst. 它将在dist子目录中生成安装exe文件。运行此 exe(以管理员身份),您应该已经安装了 PyCairo。

PyGobject 的构建是相同的。

如果setup build抱怨找不到某些.lib文件.include,只需找到它们位于哪个文件夹中,即gtk-build\gtk\Win32\release\' folder. Include that folder inLIB orINCLUDE` 变量中的某个位置,然后再次运行。

HTH,汤姆