zopeskel 失败(无法导入 urllib.parse)
zopeskel fails (can't import urllib.parse)
我无法在基于 Debian 的 Linux 机器和基于 CentOS 的服务器上的 Plone 站点中安装可用版本的 zopeskel
。
在我的 buildout.cfg
我有,关注 this how-to:
[zopeskel]
recipe = zc.recipe.egg
unzip = true
eggs =
ZopeSkel <= 3.0dev
Paste
PasteDeploy
PasteScript
# ${buildout:eggs}
(我现在没有敏捷内容,也没有重氮主题,所以我尝试没有 zopeskel.dexterity
和 zopeskel.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),它不包含 quote
或 urllib.parse
.
之类的东西
我假设一些涉及的包没有指定所需的版本;但是添加 six >= 1.3
之类的东西甚至都没有构建。
我该如何解决这个问题?谢谢!
我猜 six
包的 1.2.0
版本是由您的构建的 extends
之一指定的。
您可以使用 buildout annotate
来查找它是哪一个。
您需要添加一个 versions
部分:
[versions]
six = 1.9.0
让它失败吧!
说真的,为了 mrbob and this template...
放弃佐佩斯凯尔
zopeskel/paster 现在在 运行 中被视为无法维护(由于根本没有处理依赖项。mrbob 没有主要依赖项,并且是 Plone 5 通用安装程序的方法正在服用而不是佐培酮。
但为了让它更实用:zopeskel 及其插件经常会出现类似您的问题,根据我的经验,mrbob 不会。因为它得到维护,所以它也会比 zopeskel 产生更多的更新 "model code"。
不可否认,mrbob(还)没有 zopeskel 拥有的插件数量,但由于原型已被灵活性所取代,因此生成的重量 "boilerplate code" 更少。这是你的选择,但如果你现在开始使用 Plone - 那么只需学习 mrbob 或 zopeskel 之一(还有足够多的其他东西需要学习)。
像这样安装它(显然你也必须将 mrbob
添加到你的零件列表中)
[mrbob]
recipe = zc.recipe.egg:scripts
eggs =
mr.bob
bobtemplates.plone
我无法在基于 Debian 的 Linux 机器和基于 CentOS 的服务器上的 Plone 站点中安装可用版本的 zopeskel
。
在我的 buildout.cfg
我有,关注 this how-to:
[zopeskel]
recipe = zc.recipe.egg
unzip = true
eggs =
ZopeSkel <= 3.0dev
Paste
PasteDeploy
PasteScript
# ${buildout:eggs}
(我现在没有敏捷内容,也没有重氮主题,所以我尝试没有 zopeskel.dexterity
和 zopeskel.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),它不包含 quote
或 urllib.parse
.
我假设一些涉及的包没有指定所需的版本;但是添加 six >= 1.3
之类的东西甚至都没有构建。
我该如何解决这个问题?谢谢!
我猜 six
包的 1.2.0
版本是由您的构建的 extends
之一指定的。
您可以使用 buildout annotate
来查找它是哪一个。
您需要添加一个 versions
部分:
[versions]
six = 1.9.0
让它失败吧!
说真的,为了 mrbob and this template...
放弃佐佩斯凯尔zopeskel/paster 现在在 运行 中被视为无法维护(由于根本没有处理依赖项。mrbob 没有主要依赖项,并且是 Plone 5 通用安装程序的方法正在服用而不是佐培酮。
但为了让它更实用:zopeskel 及其插件经常会出现类似您的问题,根据我的经验,mrbob 不会。因为它得到维护,所以它也会比 zopeskel 产生更多的更新 "model code"。
不可否认,mrbob(还)没有 zopeskel 拥有的插件数量,但由于原型已被灵活性所取代,因此生成的重量 "boilerplate code" 更少。这是你的选择,但如果你现在开始使用 Plone - 那么只需学习 mrbob 或 zopeskel 之一(还有足够多的其他东西需要学习)。
像这样安装它(显然你也必须将 mrbob
添加到你的零件列表中)
[mrbob]
recipe = zc.recipe.egg:scripts
eggs =
mr.bob
bobtemplates.plone