【问题标题】:How do I install PyGObject?如何安装 PyGObject?
【发布时间】:2018-07-23 19:21:03
【问题描述】:

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

【问题讨论】:

    标签: python-2.7 pygtk pygobject


    【解决方案1】:

    还有很长的路要走,它需要在这里和那里进行一些调整,但它确实有效。我用的是Python 3.6,不知道2.7能不能用。

    首先,从此处 (https://github.com/guruDanny67/gvsbuild) 获取适用于 Windows 的 GTK+3 的构建脚本。它是来自这个 repo (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
    

    或者干脆

    build list
    

    如果您安装了 Python 启动器。

    构建的所有选项:

    build build --help
    

    有一个 pygobject 和 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 环境变量 (c:\gtk-build\gtk\Win32\release\include),然后首先运行 Cairo 的 setup build 脚本。如果构建完成正常,运行setup bdist_wininst。它将在dist 子目录中生成一个安装exe 文件。运行这个 exe(以管理员身份),你应该已经安装了 PyCairo。

    PyGobject 的构建是相同的。

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

    HTH,汤姆

    【讨论】:

    • 它是否也安装 GTK 二进制文件?我刚刚安装了 Anaconda 和 pygobject,并尝试了测试(pygobject.readthedocs.io/en/latest),但它中断了:ImportError: DLL load failed: The specified procedure could not be found.
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-02-25
    • 1970-01-01
    • 1970-01-01
    • 2019-04-02
    • 1970-01-01
    • 1970-01-01
    • 2021-01-17
    相关资源
    最近更新 更多