我正在尝试在 Linux Mint 17 中将 gtk+ 与 python 结合使用。在尝试使用 jhbuild 方法为 python 构建 gtk 库后,我尝试从 Debian 存储库安装,并尝试使用 pip 安装。在这种混乱中,我为 python 构建了两个版本的 gi。其中一个位于 /usr/local/lib/python2.7/dist-packages 目录中,另一个位于 /usr/lib/python2.7/dist-packages 目录中。尝试导入 gi.repository 时,我收到错误:
ImportError: /usr/lib/python2.7/dist-packages/gi/_gi.so: undefined symbol: PyUnicodeUCS4_FromUnicode
PyUnicodeUCS4_FromUnicode 在 /usr/include/python2.7/unicodeobject.h 文件和 /usr/local/python2.7 目录中均有定义。如何让 python 在导入 gi.repository 时找到?
答案1
Python 是用 2 字节表示的 unicode 字符而不是 4 字节表示来编译的。通过重新配置来修复
./configure --enable-unicode=ucs4
请参阅以下内容:http://effbot.org/pyfaq/when-importing-module-x-why-do-i-get-undefined-symbol-pyunicodeucs2.htm