首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Zopeskel ImportError:无法导入名称BasicNamespace

Zopeskel ImportError:无法导入名称BasicNamespace
EN

Stack Overflow用户
提问于 2012-07-09 14:54:37
回答 1查看 624关注 0票数 3

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

代码语言:javascript
复制
ImportError: cannot import name BasicNamespace

来自这个link的建议是把鸡蛋取出来。我已经删除了鸡蛋以及~/.buildout/cache/dist/中的缓存包,并再次运行buildout。然而,这个问题仍然存在。有趣的是,同一个buildout中的paster脚本正在工作。

我在buildout.cfg中的zopeskel部分如下所示:

代码语言:javascript
复制
[zopeskel]
recipe = zc.recipe.egg
eggs =
    ZopeSkel
    Paste
    PasteDeploy
    PasteScript
    zopeskel.dexterity
    ${instance:eggs}

在我的buildout中使用的一些包版本:

代码语言:javascript
复制
'/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',

完整回溯:

代码语言:javascript
复制
[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

会出什么问题呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-09 23:34:46

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

解决方案:

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

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11390298

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档