I ' Я пытаюсь переместить проект из virtualenv
в buildout
, но я не думаю, что понял всю концепцию buildout
. Все учебники, которые я нашел, обсуждают buildout
в контексте использования его с Zope
, который я не использую и поэтому не вижу, как продолжить.
My Структура файла с virtualenv
выглядит следующим образом:
myapp/
app.py
, который запускается с использованием / path / to / venvs / myapp / bin / python /path/to/myapp/script.py
.
С помощью сборки
моя файловая структура:
myapp/
app.py
bootstrap.py
buildout.cfg
Запуск python bootstrap.py
и bin / buildout
дает мне эти дополнительные файлы:
myapp/
bin/
buildout
eggs/
setuptools-0.6c12dev_r80622-py2.6.egg
tornado-1.0.1-py2.6.egg
parts/
На данный момент я не уверен, как "запустить" мое приложение.
Советы?
Следующий рецепт установит торнадо как яйцо и создаст скрипт python и myapp в каталоге bin с правильным путем поиска, чтобы найти яйцо торнадо.
[buildout]
parts = python
eggs = tornado
extra-paths = ${buildout:directory}
[python]
recipe = zc.recipe.egg
interpreter = python
eggs = ${buildout:eggs}
entry-points = myapp=app:main
extra-paths = ${buildout:extra-paths}
Buildout и virtualenv на самом деле косвенно связаны. Buildout - это действительно ограниченное и контролируемое развертывание программного обеспечения, а virtualenv - это инкапсуляция среды, в которой работает программное обеспечение Python. Buildout предоставляет то, что virtualenv делает внутри себя, а затем немного расширяет его.
Думайте о buildout как о наборе рецептов того, как взять ваш код и разместить его на удаленной системе, готовой к запуску. Часть этого процесса начинается с создания чистой песочницы (которую также может предоставить virtualenv), а затем добавления библиотек, частей и частей по мере необходимости.
Я не эксперт по построению, но я ожидал, что ваш основной код Python будет отображаться в разделе «bin» в структуре каталогов, и что вы каким-то образом будете вызывать его оттуда.