我正在尝试为Python 3.2构建libxml
(libxml2-2.7.8
)绑定。当我运行以下内容时:
./configure --with-python=/usr/bin/python3.2
libxml2-2.7.8
的编译工作......但libxml2-2.7.8
的Python绑定没有!
setup.py
和generator.py
(使用2to3
,以及generator.py
上的一些基本补丁libxml.c
和types.c
如下:
不幸的是,它仍然不够。我跑python3.2 setup.py build
并收到以下错误:
types.c:594:17: error: ‘PyInstanceObject’ undeclared (first use in this function)
我找不到与PyInstanceObject
相同的Python3!
是否有人设法为Python 3编译libxml2
绑定?
我错过了什么吗???有人可以帮忙吗? :(
答案 0 :(得分:3)
PyInstanceObject是对旧样式类型的支持的一部分,它是gone in Python 3,并且自Python 2.2以来已被弃用。这里的技巧是首先更新绑定以使用新式类,然后移植到Python 3。
(或者使用lxml,它将libxml2包装在Pythonic XML类中)。
我不是百分之百确定替换是什么,我从未在C中使用旧式类,但我认为它只是一个PyObject。