如何使用特定版本的GLib安装PyGObject?

问题描述 投票:0回答:1

对于我的一个 Python 项目,我需要 GLib 2.76.6。 不幸的是,PyGObject 的版本为 2.71.3。 所以我需要一种使用 GLib 2.76.6 构建 PyGObject 的方法。

我尝试从该来源构建: https://pygobject.readthedocs.io/en/latest/contact.html 但我安装后出现这个错误:

Python 3.10.12 (main, Jun 11 2023, 05:26:28) [GCC 11.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import gi
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/opt/nvidia/deepstream/deepstream-6.4/pygobject-3.44.2/gi/__init__.py", line 40, in <module>
    from . import _gi
ImportError: cannot import name '_gi' from partially initialized module 'gi' (most likely due to a circular import)
python pygobject
1个回答
0
投票

当前版本的 PyGObject (3.46.0+) 具有以下系统依赖项:

  • glib:>= 2.64.0

  • g对象内省:>= 1.64.0

  • libffi:>= 3.0

这些版本支持 LTS 或更新版本的 Linux,例如 Ubuntu 20.04 或 Debian Bullseye。

要从源代码构建 PyGObject,您可以按照适用于您的发行版的入门指南中的“使用 pip 从 PyPI 安装”部分进行操作。然而,PyGObject 并不是真正针对特定版本的 GLib 构建的,因为它不链接到 GLib 的库。相反,它正在使用内省。为此,需要在编译时扫描 GLib 并生成元数据文件。然后语言绑定可以读取此元数据并自动提供绑定以调用 C 库。

© www.soinside.com 2019 - 2024. All rights reserved.