Zopeskel 失败(无法导入 urllib.parse)



我无法在Plone网站上安装可用版本的zopeskel,无论是在基于Debian的Linux系统中还是在基于CentOS的服务器上。

在我的buildout.cfg中,我有以下操作:

[zopeskel]
recipe = zc.recipe.egg
unzip = true
eggs =
    ZopeSkel <= 3.0dev
    Paste
    PasteDeploy
    PasteScript
#    ${buildout:eggs}

(我现在没有Dexterity内容,也没有重氮主题,所以我尝试不使用zopeskel.dexterityzopeskel.diazotheme,但似乎没有什么区别;添加它们时结果相同)。我的[buildout]部分不包含eggs,所以我也需要对此进行注释。

建造后,我尝试了

$ bin/zopeskel --list
Traceback (most recent call last):
  File "bin/zopeskel", line 15, in <module>
import zopeskel.zopeskel_script
  File ".../eggs/ZopeSkel-2.21.2-py2.7.egg/zopeskel/__init__.py", line 2, in <module>
from zopeskel.basic_namespace import BasicNamespace
  File ".../eggs/ZopeSkel-2.21.2-py2.7.egg/zopeskel/basic_namespace.py", line 2, in <module>
from zopeskel.vars import var, DottedVar, StringVar, BooleanVar, TextVar
  File ".../eggs/ZopeSkel-2.21.2-py2.7.egg/zopeskel/vars.py", line 2, in <module>
from paste.script.templates import var as base_var
  File ".../eggs/PasteScript-2.0.2-py2.7.egg/paste/script/templates.py", line 7, in <module>
from . import copydir
  File ".../eggs/PasteScript-2.0.2-py2.7.egg/paste/script/copydir.py", line 6, in <module>
from six.moves.urllib.parse import quote
ImportError: No module named urllib.parse
$ grep six bin/zopeskel
    '.../eggs/six-1.2.0-py2.7.egg',

这是一个相当旧的版本(pip install six给了我1.9.0),它不包含任何类似quoteurllib.parse的内容。

我假设一些相关的包未能指定所需的版本;但添加CCD_ 10之类的东西甚至没有构建。

我该怎么解决这个问题?非常感谢。

我猜six包的1.2.0版本是由构建的extends之一指定的。

您可以使用buildout annotate来查找它是哪一个。

您需要添加一个versions部分:

[versions]
six = 1.9.0

让它失败吧!

说真的,为了鲍勃先生和这个模板,放弃zopeskel。。。。

从长远来看,zopeskel/paster现在被认为是不可维护的(由于根本没有处理依赖关系。mrbob没有主要的依赖关系,是Plone 5通用安装程序代替zopeskel所采用的方法。

但为了更实用:zopeskel&它的插件经常会出现像你这样的问题,根据我的经验,mrbob不会。因为它得到了维护,它还将产生比zopeskel更多的最新"模型代码"。

诚然,mrbob(还)没有zopeskel那样的插件数量,但由于原型已经被灵活性所取代,因此需要生成的"样板代码"就更少了。这是你的选择,但如果你现在开始学习Plone,那就学习mrbob或zopeskel中的一个(还有足够多的其他东西要学)。

像这样安装它(显然你也必须将mrbob添加到你的零件列表中)

[mrbob]
recipe = zc.recipe.egg:scripts
eggs =
    mr.bob
    bobtemplates.plone

相关内容

  • 没有找到相关文章

最新更新