plone - Zopeskel 导入错误 : cannot import name BasicNamespace

标签 plone zope

我的 virtualenv python 中有 zopeskel 2.21.2,它工作正常。同时,我的 Plone buildout 中也有相同版本的 zopeskel(位于 ~/.buildout/eggs)。但是,它不起作用。运行 zopeskel --list 会抛出以下错误:

ImportError: cannot import name BasicNamespace

来自这 link 的建议说要取出鸡蛋。我已经删除了 egg 以及 ~/.buildout/cache/dist/中的缓存包,然后再次运行 buildout。但是,问题仍然存在。有趣的是,同一个构建中的粘贴脚本正在运行。

我在 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

有什么问题吗?

最佳答案

这通常发生在您在本地(buildout)和全局 Python 安装中都安装了 ZopeSkel/Paster。由于管理站点包的 Python 过程失败,您最终会得到不兼容的组合。

解决方法:

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

关于plone - Zopeskel 导入错误 : cannot import name BasicNamespace,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11390298/

相关文章:

python - 如何使文件夹登陆页面看起来像 Plone 门户中子站点的初始页面?

plone - 在 Plone 3.2.3 上运行 bin/buildout 时出现语法错误

python - 如何用 python 渲染 Plone 站点的首页?

javascript - Plone 的标题图片来源?

tinymce - 禁用 TinyMCE 绝对到相对 URL 转换

python - 为什么plone.api没有find?

plone - 最先进的 Plone 事后调试

python - Zope 接口(interface)的目的?

plone - 我在哪里可以找到 Plone 4.1 wsgi 配置示例?

performance - 以编程方式停止请求