为什么我不能在Python 2.4 virtualenv中导入这个Zope组件?
问题描述:
我试图安装Plone 3.3rc4与plone.app.blob和repoze,但没有我试过迄今为止工作。对于一次尝试,我已经将repoze.zope2,Plone和plone.app.blob安装到virtualenv中。我在virtualenv的site-packages目录中有this version of DocumentTemplate,我试图让它在RHEL5中运行。为什么我不能在Python 2.4 virtualenv中导入这个Zope组件?
由于某些原因,当我尝试在这种环境下运行paster serve etc/zope2.ini
时,Python会给出消息ImportError: No module named DT_Util
? DT_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
答
我必须说,我怀疑从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
失败。
为什么不跟进自己的问题? -1 – 2009-07-28 05:09:25
我的确编辑了这个问题,目的是为了让它更加清晰。我不确定这是一种合理的安装方法。我尝试了很多不同的buildouts,并且一直无法获得plone.app.blob和repoze工作。 – joeforker 2009-07-28 17:22:36