Python在apache + mod_wsgi下使用lxml.etree.XMLSchema(tree)时卡死
Python在
lxml.etree.XMLSchema(tree)
在apache服务器 + mod_wsgi(Windows)上运行时卡住了
但在使用Django开发服务器时,一切都正常
如果你知道其他好用的XML验证方案,可以对XSD进行验证,请告诉我
更新:
我在使用soaplib,它使用lxml
logger.debug("building schema...") self.schema = etree.XMLSchema(etree.parse(f)) logger.debug("schema %r built, cleaning up..." % self.schema)
我在apache日志中看到“正在构建模式...”的字样,但没有看到“模式 %r 已构建,正在清理...”的消息
更新2:我用MSVS 2010的Visual C++构建了lxml 2.3;之后在这一行
self.schema = etree.XMLSchema(etree.parse(f))出错,出现了未处理的异常,错误信息是:在httpd.exe中发生访问冲突,写入位置0x00000010。
3 个回答
1
我在Linux系统上遇到过类似的问题。你可以试着安装一个更新版本的libxml2,然后重新安装lxml,反正这是我解决问题的方法。
2
我也遇到过同样的问题(lxml 2.2.6,mod_wsgi 3.2)。解决这个问题的一种方法是给构造函数传一个文件或者文件名:XMLSchema(file=)。
3