【问题标题】:Python hangs on lxml.etree.XMLSchema(tree) with apache + mod_wsgiPython 使用 apache + mod_wsgi 挂在 lxml.etree.XMLSchema(tree)
【发布时间】:2011-04-11 06:34:47
【问题描述】:

Python 挂了

lxml.etree.XMLSchema(tree)

当我在 apache 服务器 + mod_wsgi (Windows) 上使用它时

当我使用 Django 开发服务器时 - 一切正常

如果您知道其他针对 XSD 的优秀 XML 验证解决方案,请告诉我

更新:

我正在使用soaplib,它使用lxml

logger.debug("构建模式...") self.schema = etree.XMLSchema(etree.parse(f)) logger.debug("schema %r 建立,正在清理..." % self.schema)

我在 apache 日志中看到“正在构建架构...”,但没有看到“已构建架构 %r,正在清理...”

更新 2: 我用 MSVS 2010 Visual C++ 构建了 lxml 2.3;之后它在这条线上崩溃了

self.schema = etree.XMLSchema(etree.parse(f))
在 httpd.exe 中的 0x7c919af2 处出现未处理的异常:0xC0000005:访问冲突写入位置 0x00000010。

【问题讨论】:

  • (1) “挂断 etree.XMLSchema(tree)” 传达的信息很少——你到底是什么意思? (2) 我相信lxml 的开发人员听到有问题会非常担心; lxml 似乎是一个非常强大的产品,不容易“挂起”或崩溃 - 考虑在 lxml 邮件列表或错误跟踪器上报告您的问题。
  • 更新我的问题,添加一些信息

标签: python apache mod-wsgi lxml xml-validation


【解决方案1】:

我使用的解决方法是设置:

WSGIApplicationGroup %{GLOBAL}

More details can be found here.

【讨论】:

【解决方案2】:

我遇到了同样的问题(lxml 2.2.6,mod_wsgi 3.2)。解决此问题的方法是将文件或文件名传递给构造函数:XMLSchema(file=)。

【讨论】:

    【解决方案3】:

    我在 Linux 系统上遇到了类似的问题。尝试安装更新版本的 libxml2 并重新安装 lxml,至少这对我来说是这样。

    【讨论】:

      猜你喜欢
      • 2012-11-04
      • 2016-08-23
      • 2011-09-24
      • 1970-01-01
      • 2011-06-04
      • 1970-01-01
      • 2014-05-09
      • 2020-04-02
      • 1970-01-01
      相关资源
      最近更新 更多