我正尝试在Windows7上为Python2.7安装PyGtk,但是当我使用pip安装PyGtk时,它会提示我需要PyGObject (见图),所以我安装了Python的可视化C++包(我知道我有正确的版本),并尝试使用pip安装PyGObject,但它总是出现错误消息,提示缺少cairo.h,并且我确实检查了目录,发现它不在那里。我到底该怎么安装PyGObject呢?

发布于 2018-07-30 07:21:34
有一个相当长的方法,它需要一些调整,但它是有效的。我使用的是Python3.6,不知道它是否能在2.7中工作。
首先,从这里(https://github.com/guruDanny67/gvsbuild)获取GTK+3的构建脚本。它是这个代码库(https://github.com/wingtk/gvsbuild)的分支,但它似乎与各种版本的包一起更新。我使用了'ed2018‘分支,它似乎是最相关的,但这个分支的更改可能会以'master’结束,所以请检查前后提交的数量。
如果你没有在Visual Studio2017中安装C++工作负载,你还需要一个Visual Studio2017构建工具。你也可以使用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或者简单地说
build list如果您安装了Python启动器。
构建的所有选项:
build build --helppygobject和pycairo有一个构建项目,它将它们安装在已安装的Python site-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目录添加到您的INCLUDE环境变量(c:\gtk-build\gtk\Win32\release\include)中,并首先为Cairo运行setup build脚本。如果构建完成正常,则运行setup bdist_wininst。它将在dist子目录中生成一个安装exe文件。运行此可执行文件(以管理员身份),您应该已经安装了PyCairo。
PyGobject的构建是相同的。
如果setup build报告找不到某个.lib或.include文件,只需在gtk-build\gtk\Win32\release\' folder. Include that folder inLIBorINCLUDE`变量中的某个位置找到它们所在的文件夹,然后再次运行。
哈哈,汤姆
https://stackoverflow.com/questions/51485852
复制相似问题