edit2: добавил Целые StderrBuildout добавляя яйца к существующему рецепту
Edit1: удалил мой предполагаемый ответ. Обновлено описание проблемы и добавил полный текст buildout.cfg
Edit0: фиксированной связи
Я пытаюсь портировать проект Pyramid я должен Google App Engine. Я пытаюсь использовать Tobias Rodaebel (спасибо!) buildout recipe, который помогает в этом. Я использовал лезвие pyramid_appengine, по существу следуя описанной процедуре here.
Все прошло довольно гладко, пока я не попытался добавить дополнительные яйца к строительству. Я пытаюсь добавить pymongo
пакет в файл ./buildout.cfg
,
[buildout]
include-site-packages=false
find-links=http://dist.plone.org/thirdparty/
extends = versions.cfg
versions = versions
update-versions-file = versions.cfg
show-picked-versions = true
develop=src/bkk
parts=bkk
tests
service-bkk
ae-sdk-version=1.9.18
ae-runtime=2.7
ae-sdk-location = ${buildout:parts-directory}/google_appengine
ae-extra-paths =
${buildout:bin-directory}
${buildout:directory}/parts/bkk
${buildout:directory}/parts/google_appengine
${buildout:directory}/parts/google_appengine/lib/antlr3
${buildout:directory}/parts/google_appengine/lib/django
${buildout:directory}/parts/google_appengine/lib/fancy_urllib
${buildout:directory}/parts/google_appengine/lib/yaml/lib
unzip=true
supervisor-port = 9999
supervisor-conf-dir = ${buildout:directory}/conf
supervisor-log-dir = ${buildout:directory}/var/log
service-conf-templates = ${buildout:directory}/conf.tmpl
project-name=bkk
[bkk]
recipe=rod.recipe.appengine
packages=
pyramid
pymongo
pyramid_jinja2
repoze.lru
zope.interface
zope.deprecation
venusian
translationstring
jinja2
webob
src=src/bkk
server-script=devappserver
zip-packages=false
use_setuptools_pkg_resources=true
url=https://storage.googleapis.com/appengine-sdks/featured/google_appengine_${buildout:ae-sdk-version}.zip
[bootstrap]
recipe=zc.recipe.egg
eggs=pastescript
extra-paths=${buildout:ae-extra-paths}
[tests]
recipe = zc.recipe.egg
eggs =
WebTest
WebOb
pytest
pytest-cov
interpreter = python
extra-paths=${buildout:ae-extra-paths}
[supervisor]
recipe = zc.recipe.egg
[mk-supervisor-log-dir]
recipe = collective.recipe.cmd:py
on_install = true
cmds =
>>> if not os.path.isdir('${buildout:supervisor-log-dir}'):os.makedirs('${buildout:supervisor-log-dir}')
[service-supervisor]
recipe = collective.recipe.template
input = ${buildout:service-conf-templates}/supervisord.conf_tmpl
output = ${buildout:directory}/etc/supervisord.conf
depends = ${mk-supervisor-log-dir:recipe} ${supervisor:recipe}
[service-bkk]
recipe = collective.recipe.template
input = ${buildout:service-conf-templates}/service-${buildout:project-name}.conf_tmpl
output = ${buildout:supervisor-conf-dir}/service-${buildout:project-name}.conf
port=8000
admin_port=8010
api_port=8020
depends = ${service-supervisor:recipe}
, а также распаковать соответствующее яйцо в каталог ./eggs
. Я в конечном итоге получить следующее сообщение об ошибке:
Develop: '/Users/npk1/Dev/bkk/bkk_gae/bkk/src/bkk'
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'paster_plugins'
warnings.warn(msg)
warning: no files found matching '*.ini'
warning: no files found matching '*.rst'
warning: no files found matching '*.jpg' under directory 'bkk'
warning: no files found matching '*.pt' under directory 'bkk'
warning: no files found matching '*.txt' under directory 'bkk'
warning: no files found matching '*.mak' under directory 'bkk'
warning: no files found matching '*.mako' under directory 'bkk'
warning: no files found matching '*.js' under directory 'bkk'
warning: no files found matching '*.html' under directory 'bkk'
warning: no files found matching '*.xml' under directory 'bkk'
Uninstalling bkk.
Unused options for buildout: 'ae-runtime' 'include-site-packages' 'unzip'.
Installing bkk.
rod.recipe.appengine: Google App Engine distribution already downloaded.
While:
Installing bkk.
An internal error occurred due to a bug in either zc.buildout or in a
recipe being used:
Traceback (most recent call last):
File "/Users/npk1/Dev/bkk/bkk_gae/bkk/eggs/zc.buildout-2.3.1-py2.7.egg/zc/buildout/buildout.py", line 1946, in main
getattr(buildout, command)(args)
File "/Users/npk1/Dev/bkk/bkk_gae/bkk/eggs/zc.buildout-2.3.1-py2.7.egg/zc/buildout/buildout.py", line 626, in install
installed_files = self[part]._call(recipe.install)
File "/Users/npk1/Dev/bkk/bkk_gae/bkk/eggs/zc.buildout-2.3.1-py2.7.egg/zc/buildout/buildout.py", line 1370, in _call
return f()
File "/Users/npk1/Dev/bkk/bkk_gae/bkk/eggs/rod.recipe.appengine-2.0.6-py2.7.egg/rod/recipe/appengine/__init__.py", line 380, in install
self.copy_packages(ws, temp_dir)
File "/Users/npk1/Dev/bkk/bkk_gae/bkk/eggs/rod.recipe.appengine-2.0.6-py2.7.egg/rod/recipe/appengine/__init__.py", line 290, in copy_packages
raise KeyError, '%s: package not found.' % p
KeyError: 'pyramid_jinja2: package not found.'
Прогулки по коду кажется, что zc.recipe
собирает свой собственный список зависимостей и проверки их против моих проектов и pymongo
не появляется, хотя, возможно, я не права.
Кто-нибудь знает процесс при добавлении новых пакетов в существующий рецепт? Это неправильный способ думать об этом? Я буду продолжать пытаться переварить документацию buildout, поскольку я новичок в этой утилите.
Благодаря
Обратите внимание, что обе ссылки в вопросе приводят к странице для какой-то старой версии 'zc.recipe.egg', которая не является достаточно актуальной на вопрос. Я также подозреваю, что 'packages =' означает 'eggs =' и 'zc.recipe' на самом деле' zc.recipe.egg'. Все это довольно сложно расшифровать, что происходит :) Можете ли вы показать нам свой полный файл buildout.cfg и рассказать нам, что вы пытаетесь сделать? – Sergey
@ Серджи мои извинения! Не знаю, как это произошло. Исправлены ссылки. Фактически, «пакеты» действительно являются ярлыком. – npk