Plone / Paster - 什么可能导致“paster addcontent dexterity_content”不起作用?

时间:2015-09-15 19:36:21

标签: plone paster zopeskel

我正在尝试使用贴纸来创建灵巧内容类型。 我在一个目标文件夹中进行了一个新的Plone 4.3.4独立安装,该文件夹与我之前使用的文件夹不同,因此buildout-cache将是干净的。

我使用的操作系统是Ubuntu 14.04。所以在我的下载文件夹中,在我提取的安装程序文件夹中,输入终端:

./install.sh --target=/home/myusername/Plone2 --instance=MyProject standalone

安装正确。然后我去Plone2的MyProject。我编辑buildout来更改我的密码和运行buildout:

buildout -c develop.cfg

然后我转到src文件夹并使用zopeskel创建一个新产品:

../bin/zopeskel dexterity project.house

然后我编辑我的buildout并在egg下我添加了project.house并在develop下,src / project.house。然后我再次运行buildout并正确构建。然后在源代码下的project.house文件夹中,我尝试运行贴纸。

../../bin/paster addcontent dexterity_content

然后我最终得到一个错误:

Traceback (most recent call last):
  File "../../bin/paster", line 264, in <module>
    sys.exit(paste.script.command.run())
  File "/home/pjdowney/Plone2/buildout-cache/eggs/PasteScript-1.7.5-py2.7.egg/paste/script/command.py", line 104, in run
    invoke(command, command_name, options, args[1:])
  File "/home/pjdowney/Plone2/buildout-cache/eggs/PasteScript-1.7.5-py2.7.egg/paste/script/command.py", line 143, in invoke
    exit_code = runner.run(args)
  File "/home/pjdowney/Plone2/buildout-cache/eggs/PasteScript-1.7.5-py2.7.egg/paste/script/command.py", line 238, in run
    result = self.command()
  File "/home/pjdowney/Plone2/buildout-cache/eggs/ZopeSkel-2.21.2-py2.7.egg/zopeskel/localcommands/__init__.py", line 70, in command
    self._extend_templates(templates, args[0])
  File "/home/pjdowney/Plone2/buildout-cache/eggs/ZopeSkel-2.21.2-py2.7.egg/zopeskel/localcommands/__init__.py", line 204, in _extend_templates
    tmpl = entry.load()(entry.name)
  File "/home/pjdowney/Plone2/buildout-cache/eggs/setuptools-7.0-py2.7.egg/pkg_resources.py", line 2184, in load
    ['__name__'])
ImportError: No module named dexterity.localcommands.dexterity

我最近在另一个目标文件夹中安装了Plone 4.3.6。不幸的是,我从未尝试过使用贴纸因为我是通过网络创建灵巧内容。切换到4.3.6会破坏一切吗?

我之前的目标文件夹仍在使用。

2 个答案:

答案 0 :(得分:3)

投掷“”ImportError:没有名为dexterity.localcommands.dexterity“+”plone“的模块直接进入Plone 4.3.4 - ImportError: No module named dexterity.localcommands.dexterity,其中S. McMahon声称它是https://github.com/plone/Installers-UnifiedInstaller/issues/33中报告的错误并且已经修复对于Plone-5安装程序,但不适用于Plone-4。

该错误很可能是由最新的setuptools版本和FWIW引起的,我偶然在“glyph”的推文中发现了这些信息,看起来很有帮助:

  

“公共服务公告:让@ dstufft的生活更轻松,而不是   使用Debian或Ubuntu的`python-pip'包。它坏了。“(1)

     

“而是使用get-pip.py安装pip和virtualenv,理想情况下是   你的主目录。 (可悲的是,https://pip2014.com/仍然存在   相关的。)“(2)

我会仔细研究salvation-prospects-script get-pip.py,当再次遇到probs时,但是现在,我根本不升级任何东西:-D

(1)https://twitter.com/glyph/status/640980540691234816 (2)https://twitter.com/glyph/status/640980540691234816

答案 1 :(得分:1)

(复制自我对github中类似问题的评论)

  

我过去和zopeskel / paster一起打过这样的打架。现在虽然我避免它....选择使用:

     
      
  • mrbob用于模仿鸡蛋
  •   
  • 通过网络see plone training
  • 创建灵巧类型   
  • 或者直接在代码中创建灵巧类型而不需要模板化 - 在灵巧性参考文献中没有更少的样板代码
  •   

我怀疑您的问题是因为4.3.6的安装可能已将zopeskel或其中一个依赖项升级为对localcommands / templates有不同要求的内容。如果你想继续这场斗争(我不推荐它),那么你可以尝试将所有zopeskel依赖项固定到最新版本(虽然Zopeskel必须小于3.0我相信)