No module named plone.i18n.normalizer.interfaces
Zope/Ploneのインスタンスを作成して、zopectl startで起動したところ、Ploneサイトが壊れていてちゃんと参照できない現象。
event.logにかこんな情報がでています。
2011-05-17T16:29:04 ERROR Application Couldn't install PloneLanguageTool Traceback (most recent call last): File "/usr/local/lib/python/OFS/Application.py", line 758, in install_product global_dict, global_dict, silly) File "/usr/local/zope/cms3/Products/PloneLanguageTool/__init__.py", line 2, in ? # File "/usr/local/zope/cms3/Products/PloneLanguageTool/LanguageTool.py", line 1, in ? ImportError: No module named plone.i18n.locales.interfaces
ImportErrorは他にもたくさんでています。このモジュールは $INSTANCE_HOME/lib/plone/i18n/normalizer/interfaces.py にあります。このディレクトリはPloneのプロダクトの一部。このインスタンスがインストールされている他のマシンともリンクとして共用しています。このディレクトリが参照できていないみたいです。
試しにこのディレクトリにある *.pyc ファイルを削除して、インスタンスを再起動しても *.pyc ファイルが作成されないので、PYTHONPATHの問題みたい。
そこで zopectl でPYTHONPATH を設定しているところをすこし編集。
PYTHONPATH="$SOFTWARE_HOME:$INSTANCE_HOME/lib:$PYTHONPATH"
$INSTANCE_HOME/lib を追加しました。これで解決。