4

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

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

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

那安装正确。然后我去 Plone2 中的 MyProject。我编辑构建以更改我的密码,并运行构建:

buildout -c develop.cfg

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

../bin/zopeskel dexterity project.house

然后我编辑我的 buildout 并在 egg 下添加 project.house 并在 development 下添加 src/project.house。然后我再次运行 buildout 并正确构建。然后在sources下的project.house文件夹中,我尝试运行paster。

../../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。不幸的是,我从未尝试过使用 paste,因为我是通过网络创建灵巧的内容。切换到 4.3.6 会毁了一切吗?

我之前的目标文件夹仍然有效。

4

2 回答 2

3

将 ""ImportError: No module named 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-installers 修复,但不适用于 Plone-4。

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

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

“相反,最好使用 get-pip.py 将 pip 和 virtualenv 安装到您的主目录中。(遗憾的是,https ://pip2014.com/ 仍然相关。)”(2)

当再次遇到问题时,我将仔细查看 save-promising-script get-pip.py,但现在,我根本不升级任何东西 :-D

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

于 2015-09-17T08:05:42.790 回答
1

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

我过去曾与 zopeskel / Paster 发生过这样的战斗。现在虽然我避免它....选择使用:

  • 用于模板鸡蛋的mrbob
  • 通过网络创建灵巧类型参见 plone training
  • 或者直接在代码中创建灵巧类型而不使用模板 - 灵巧cf原型中的样板代码要少得多

我怀疑您的问题是因为您安装的 4.3.6 可能已将 zopeskel 或其依赖项之一升级到对本地命令/模板有不同要求的东西。如果您想继续这场战斗(我不推荐),那么您可以尝试将所有 zopeskel 依赖项固定到最新版本(尽管我相信 Zopeskel 必须小于 3.0)

于 2015-09-17T10:53:16.413 回答