为什么我不能在Python 2.4 virtualenv中导入这个Zope组件?

时间:2009-07-21 20:50:13

标签: python virtualenv zope

我正在尝试用plone.app.blob安装Plone 3.3rc4并重新启用,但到目前为止我没有尝试过任何工作。对于一次尝试,我已经将repoze.zope2,Plone和plone.app.blob装入了virtualenv。我在virtualenv的site-packages目录中有this version of DocumentTemplate,我正在尝试让它在RHEL5中运行。

出于某种原因,当我尝试在此环境中运行paster serve etc/zope2.ini时,Python会给出消息ImportError: No module named DT_UtilDT_Util.py存在于目录中,__init__.py也存在,并且它所依赖的C模块就在那里。我怀疑在导入C扩展时存在一些循环依赖或失败。当然这个模块可以在普通的Zope安装中运行......

>>> import DocumentTemplate
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
  File "DocumentTemplate/__init__.py", line 21, in ?
  File ".../lib/python2.4/site-packages/DocumentTemplate/DocumentTemplate.py", line 112, in ?
    from DT_String import String, File
  File ".../lib/python2.4/site-packages/DocumentTemplate/DT_String.py", line 19, in ?
    from DocumentTemplate.DT_Util import ParseError, InstanceDict
ImportError: No module named DT_Util

1 个答案:

答案 0 :(得分:1)

我必须说我怀疑Zope的DocumentTemplate是独立工作的。欢迎您尝试。 : - )

请注意DT_Util imports C extensions

from DocumentTemplate.cDocumentTemplate import InstanceDict, TemplateDict
from DocumentTemplate.cDocumentTemplate import render_blocks, safe_callable
from DocumentTemplate.cDocumentTemplate import join_unicode

你需要确保编译它们。我的猜测是导入cDocumentTemplate模块失败,导致DT_Util导入失败。