在我的zope2.9.6从gentoo发行版迁移到cento5结束时,我在其中编译了一个特定的python版本(python-2.4.6),当我运行时用于运行zope /opt/instances/zope-2.9.6/bin/runzope
我收到了以下警告
/opt/instances/zope-2.9.6/Products/Marshall/handlers/ init .py:38:UserWarning:libxml2不可用。无法注册基于libxml2的marshallers warnings.warn('libxml2不可用。无法注册基于'\
的libxml2我该如何解决这个问题?
答案 0 :(得分:2)
这是一个警告,而不是错误。事实上,在更高版本的Plone中,它被降级为“信息”消息。
除非您需要使用Marshall进行基于XML的导入或导出Plone数据,否则您可以 - 而且应该 - 忽略此消息。
Marshall是唯一的Plone组件(在Plone的更高版本中,它是一个可选的附加组件),它使用旧的python-libxml库。并且,它仅用于XML导入/导出。我知道人们使用这些组件的唯一流行用途是用于transmogrifier导出导入管道。除非你正在做那样的事情,否则请放心,这不是什么问题。
答案 1 :(得分:1)
首先,您应该安装这些系统包:
sudo apt-get install libxml2-dev python-lxml python-libxml2
然后你需要重新编译你的python才能让它知道新包。 如果您正在使用buildout,您也可以尝试:
[buildout]
parts +=
...
lxml
eggs +=
...
lxml == 2.1.2
[lxml]
recipe=plone.recipe.lxml
egg = lxml == 2.1.2