0

我正在使用介子构建一个基于 GObject 的库。该项目构建良好。但是,当我运行sudo ninja install它时,它将 typelib 安装到:

将 src/Edf-0.0.typelib 安装到 /usr/local/lib/x86_64-linux-gnu/girepository-1.0

然后当我运行 python 时:

import gi
gi.require_version('Edf', "0.0")

我得到一个例外:

Traceback (most recent call last):
  File "<input>", line 1, in <module>
    gi.require_version('Edf', "0.0")
  File "/usr/lib/python3/dist-packages/gi/__init__.py", line 130, in require_version
    raise ValueError('Namespace %s not available' % namespace)
ValueError: Namespace Edf not available

或者当我试图变得固执时:

import gi
from gi.repository import Edf
Traceback (most recent call last):
  File "<input>", line 1, in <module>
    from gi.repository import Edf
  File "/usr/lib/python3/dist-packages/gi/importer.py", line 127, in find_module
    'introspection typelib not found' % namespace)
ImportError: cannot import name Edf, introspection typelib not found

当我运行时:

export GI_TYPELIB_PATH='/usr/local/lib/x86_64-linux-gnu/girepository-1.0'或者 export GI_TYPELIB_PATH='./src'我可以分别从系统或我的构建目录中使用 python 导入引入的库。

python 或 gobject introspection 应该能够在其中找到 typelib/usr/local/lib/x86_64-linux-gnu/girepository-1.0还是应该更新我的构建?例如。在介子中指定一个前缀。

4

0 回答 0