3

virtualenv python に zopeskel 2.21.2 があり、正常に動作します。一方、私の Plone ビルドアウト ( にあります~/.buildout/eggs) にも同じバージョンの zopeskel があります。しかし、うまくいきません。実行zopeskel --listすると、次のエラーがスローされます。

ImportError: cannot import name BasicNamespace

このリンクからのアドバイスは、卵を取り除くように言っています. ~/.buildout/cache/dist/ の卵とキャッシュされたパッケージを削除し、buildout を再度実行しました。ただし、問題は解決しません。面白いことに、同じビルドアウト内の paster スクリプトが機能しています。

buildout.cfg の zopeskel セクションは次のようになります。

[zopeskel]
recipe = zc.recipe.egg
eggs =
    ZopeSkel
    Paste
    PasteDeploy
    PasteScript
    zopeskel.dexterity
    ${instance:eggs}

私のビルドアウトで使用されるいくつかのパッケージ バージョン:

'/home/user/.buildout/eggs/Paste-1.7.5.1-py2.6.egg',
'/home/user/.buildout/eggs/distribute-0.6.24-py2.6.egg',
'/home/user/.buildout/eggs/PasteDeploy-1.3.4-py2.6.egg',
'/home/user/.buildout/eggs/PasteScript-1.7.4.2-py2.6.egg',

完全なトレースバック:

[user@rizal myplone.site]$ ./bin/zopeskel --list
Traceback (most recent call last):
  File "./bin/zopeskel", line 346, in <module>
    import zopeskel.zopeskel_script
  File "/home/user/.buildout/eggs/ZopeSkel-2.21.2-py2.6.egg/zopeskel/__init__.py", line 2, in <module>
    from zopeskel.basic_namespace import BasicNamespace
  File "/home/user/.buildout/eggs/ZopeSkel-2.21.2-py2.6.egg/zopeskel/basic_namespace.py", line 2, in <module>
    from zopeskel.vars import var, DottedVar, StringVar, BooleanVar, TextVar
  File "/home/user/.buildout/eggs/ZopeSkel-2.21.2-py2.6.egg/zopeskel/vars.py", line 2, in <module>
    from paste.script.templates import var as base_var
  File "/home/user/.buildout/eggs/PasteScript-1.7.4.2-py2.6.egg/paste/script/templates.py", line 6, in <module>
    import copydir
  File "/home/user/.buildout/eggs/PasteScript-1.7.4.2-py2.6.egg/paste/script/copydir.py", line 4, in <module>
    import pkg_resources
  File "/home/user/.buildout/eggs/distribute-0.6.24-py2.6.egg/pkg_resources.py", line 2727, in <module>
    add_activation_listener(lambda dist: dist.activate())
  File "/home/user/.buildout/eggs/distribute-0.6.24-py2.6.egg/pkg_resources.py", line 700, in subscribe
    callback(dist)
  File "/home/user/.buildout/eggs/distribute-0.6.24-py2.6.egg/pkg_resources.py", line 2727, in <lambda>
    add_activation_listener(lambda dist: dist.activate())
  File "/home/user/.buildout/eggs/distribute-0.6.24-py2.6.egg/pkg_resources.py", line 2230, in activate
    map(declare_namespace, self._get_metadata('namespace_packages.txt'))
  File "/home/user/.buildout/eggs/distribute-0.6.24-py2.6.egg/pkg_resources.py", line 1827, in declare_namespace
    _handle_ns(packageName, path_item)
  File "/home/user/.buildout/eggs/distribute-0.6.24-py2.6.egg/pkg_resources.py", line 1797, in _handle_ns
    loader.load_module(packageName); module.__path__ = path
  File "/usr/lib/python2.6/pkgutil.py", line 238, in load_module
    mod = imp.load_module(fullname, self.file, self.filename, self.etc)
  File "/home/user/.buildout/eggs/ZopeSkel-2.21.2-py2.6.egg/zopeskel/__init__.py", line 2, in <module>
    from zopeskel.basic_namespace import BasicNamespace
ImportError: cannot import name BasicNamespace

何が間違っている可能性がありますか?

4

1 に答える 1

5

これは通常、ZopeSkel / Paster がローカル (ビルドアウト) とグローバル Python インストールの両方にインストールされている場合に発生します。サイト パッケージを管理する Python プロセスの失敗により、互換性のない組み合わせになってしまいます。

解決:

http://docs.plone.org/manage/troubleshooting/exceptions.html#from-zopeskel-basic-namespace-import-basicnamespace

于 2012-07-09T15:34:46.340 に答える