Почему я не могу импортировать этот компонент Zope в Python 2.4 virtualenv? - PullRequest
0 голосов
/ 22 июля 2009

Я пытаюсь установить Plone 3.3rc4 с помощью plone.app.blob и выполнить повторную загрузку, но ничего из того, что я пробовал, пока не работает Для одной попытки я установил pip-файлы repoze.zope2, Plone и plone.app.blob в virtualenv. У меня эта версия DocumentTemplate в каталоге пакетов-пакетов virtualenv, и я пытаюсь запустить ее в RHEL5.

По какой-то причине, когда я пытаюсь запустить 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

1 Ответ

1 голос
/ 22 июля 2009

Должен сказать, что сомневаюсь, что DocumentTemplate от Zope будет работать автономно. Вы можете попробовать хотя. : -)

Обратите внимание, что DT_Util импортирует расширения C :

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

Вам нужно убедиться, что они скомпилированы. Я предполагаю, что импорт модуля cDocumentTemplate завершился неудачно, и, следовательно, импорт DT_Util завершился неудачей.

...