Plone / Paster - Что могло привести к тому, что paster addcontent dexterity_content не работал?

Я пытаюсь использовать пастер для создания типа контента на ловкость. Я выполнил новую автономную установку Plone 4.3.4 в целевой папке, отличной от той, с которой я работал ранее, так что buildout-cache будет чистым.

Я использую ОС Ubuntu 14.04. Итак, в моей папке загрузок, в папке установщика, которую я извлек, я ввожу терминал:

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

Это правильно устанавливается. Затем я перехожу в MyProject в Plone2. Я редактирую buildout, чтобы изменить свой пароль, и run buildout:

buildout -c develop.cfg

Затем я перехожу в папку src и создаю новый продукт с помощью zopeskel:

../bin/zopeskel dexterity project.house

Затем я редактирую свой buildout и под яйцами добавляю project.house и в разработке 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 все испортить?

Моя предыдущая целевая папка все еще работает.


person Patrick Downey    schedule 15.09.2015    source источник
comment
Вы сомневаетесь, мог ли переход на Plone-4.3.6 все испортить, поднимает вопрос ко мне, если это сработало для вас с более низкими версиями UnifiedInstallers? Еще я бы попробовал перейти на более раннюю версию setuptools, которая у вас есть, по причинам, указанным в моем ответе ниже.   -  person Ida    schedule 17.09.2015


Ответы (2)


Вбрасывание "" ImportError: отсутствие модуля с именем dexterity.localcommands.dexterity "+" plone "в поисковый движок ведет прямо к Plone 4.3.4 - ImportError: Нет модуля с именем dexterity.localcommands.dexterity, где С. МакМахон заявляет об ошибке, указанной в https://github.com/plone/Installers-UnifiedInstaller/issues/33 и уже исправлен для Plone- 5-установщиков, но не для Plone-4.

Ошибка, вероятно, вызвана последней версией setuptools и FWIW. Однажды я случайно нашел эту информацию в твитах "glyph ", которые выглядят полезными:

«Объявление для общественных служб: упростите жизнь @dstufft и не используйте пакет` python-pip` из Debian или Ubuntu. Он сломан ». (1)

"Вместо этого установите pip и virtualenv с помощью get-pip.py, в идеале в свой домашний каталог. (К сожалению, https://pip2014.com/ по-прежнему актуален.) "(2)

Я более подробно рассмотрю сценарий обещания спасения get-pip.py, когда снова столкнусь с проблемами, но пока я просто ничего не обновляю :-D

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

person Ida    schedule 17.09.2015
comment
Спасибо за разъяснительный ответ. Я ценю это. Так что это была проблема с инструментами настройки. Я закрепил версию setuptools на 2.2 в версии в buildout.cfg, и она работает. Я должен был попробовать это сначала, основываясь на предпоследней строке трассировки. Да, я постараюсь пока воздержаться от обновления, так как я все еще работаю над проектом. Еще раз спасибо! - person Patrick Downey; 17.09.2015

(скопировано из моего собственного комментария по аналогичной проблеме в github)

У меня в прошлом были такие драки с зопескелем / пастером. В настоящее время я избегаю этого ... выбирая использование:

  • mrbob для создания шаблонов яиц.
  • создание типов ловкости через Интернет см. обучение Plone
  • ИЛИ в качестве альтернативы создание типов ловкости непосредственно в коде без шаблонов - в архетипах ловкости намного меньше шаблонного кода

Я подозреваю, что ваша проблема связана с тем, что ваша установка 4.3.6 могла обновить zopeskel или одну из его зависимостей до чего-то с другими требованиями к локальным командам / шаблонам. Если вы хотите продолжить эту борьбу (а я этого не рекомендую), вы можете попробовать привязать все свои зависимости zopeskel к последним версиям (хотя Zopeskel должен быть меньше 3.0, я считаю)

person Danimal    schedule 17.09.2015
comment
Спасибо. На данный момент я установил setuptools на 2.2, что устранило мою проблему. В какой-то момент я переключусь на использование mrbob, так как могу вызывать другие проблемы, закрепляя версии других продуктов. Кроме того, mrbob не рекомендует пастер в соответствии с предоставленной вами ссылкой на mrbob. Еще раз спасибо. - person Patrick Downey; 17.09.2015
comment
Это хорошая идея, paster / zopeskel будут все меньше и меньше поддерживаться - я бы сказал, что вам следует переключиться на mrbob, когда вы начинаете новый проект (как сейчас). Это очень просто, и шаблоны, скорее всего, будут более точными, чем макеты. Дайте себе 10-15 минут, чтобы попробовать это сейчас и посмотреть, что вы думаете! - person Danimal; 17.09.2015
comment
Безопасен ли mrbob от возможных конфликтов, подобных тому, что мы постоянно сталкиваемся с paster'n'zopskel? - person Ida; 18.09.2015
comment
@IdaEbkes Я полагаю, это не пуленепробиваемый, но у него гораздо меньше зависимостей, чем у paster mrbob.readthedocs. org / en / latest / other.html - person Danimal; 18.09.2015
comment
@Danimal: Хм, посмотрев в его setup.py, он на самом деле имеет гораздо больше зависимостей, чем paster, но, вероятно, важно то, сколько непрерывных ‹3 получает модуль :-) Хороших выходных! - person Ida; 19.09.2015
comment
@IdaEbkes справедливые баллы. И чем сложнее, тем больше ‹3 требуемых - и модулей Templer и их зависимостей, похоже, не становится столько, сколько им нужно. - person Danimal; 21.09.2015