2015-06-26 2 views
0

Я не могу установить полезную версию zopeskel на моем сайте Plone, как в моем ядре на базе Debian, так и на сервере CentOS.zopeskel не удается (не может импортировать urllib.parse)

В моей buildout.cfg я, следуя this how-to:

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

(я не имею содержание Ловкость ни diazothemes на данный момент, так что я пытался без 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 даже не построило.

Как это исправить? Спасибо!

+0

Пусть это не получится! Серьезно, канава zopeskel для [mrbob] (http://mrbob.readthedocs.org/) и [этот шаблон] (https://github.com/plone/bobtemplates.plone) .... расскажу, что я «сделаю это« ответом ».... – Danimal

ответ

1

Я думаю, что 1.2.0 версия пакета six указана одним из extends вашей сборки.

Вы можете использовать buildout annotate, чтобы найти то, что он есть.

Вы должны добавить versions раздел:

[versions] 
six = 1.9.0 
+0

Я заметил, что« шесть »привязано к 1.2.0 даже для Plone 4.3.4 - по какой-то причине ... – Tobias

1

Пусть это не получится!

Серьезно, канавы ZopeSkel для mrbob и this template ....

ZopeSkel/Пастера теперь рассматриваются как неосновательный в долгосрочной перспективе (из-за зависимостей, которые не работали на вообще. Mrbob не имеет каких-либо серьезных зависимостей и это подход, который использует универсальный установщик Plone 5 вместо zopeskel.

Но для того, чтобы сделать его более практичным: zopeskel & это плагины, которые регулярно вызывают проблемы, подобные вашей, mrbob не в моем опыте. также будет выпускать более современный «код модели», чем будет zopeskel.

Понятно, что в mrbob нет (хотя) количества плагинов, которые делает zopeskel, но поскольку архетипы были настигнуты ловкостью, для генерации менее тяжелый «шаблонный код». Это ваш выбор, но если вы сейчас начинаете Plone, то просто изучите один из mrbob или zopeskel (есть достаточно других вещей, чтобы учиться).

Установите его, как это (очевидно, вы должны добавить mrbob в список частей тоже)

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

Этот ответ был бы более полезен по короткой причине _why_, этот шаблон превосходит ... однако Godefroid прибил решение для моей проблемы, и я принял его. – Tobias

+0

обновил мой ответ. Ответ Godefroid, очевидно, правильный ответ на вопрос. Моя (я надеюсь) ответ «сделай шаг назад» :-) – Danimal

Смежные вопросы