Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux / 使用Buildout进行开发

关于BuildoutBuildout是由Zope公司的JimFulton开发的一个工具,可以管理创建新的应用程序。这些应用程序可以是Python程序或者其他程序,比如Apache。Buildout的一个主要目的是可以创建可复用的跨平台程序。Buildout通过一个配置文件,可以从多个部分创建、组装并部署新的应用,即使应用包含了非Python的组件,Buildout亦能胜任。Buildout不但能够像setuptools一样自动更新或下载安装依赖包,而且还能够像virtualenv一样,构建一个封闭隔离的开发环境。使用BuildoutBuildout是一个非常智能的软件,仅需完成以下两件事情:最新的bootstrap.py的副本,下载请戳http://svn.zope.org/*checkout*/zc.buildout/trunk/bootstrap/bootstrap.py具有“recipes”或者“eggs”项的buildout.cfg文件来进行安装具体步骤如下:1. 建立开发目录,可命名为demo-buildout,创建Buildout配置文件buildout.cfg:#mkdir demo-buildout#cd demo-buildout#touch buildout.cfg2. 下载buildout的引导脚本bootstrap.py,运行bootstrap.py来生成buildout相关的文件和目录:#wget http://svn.zope.org/*checkout*/zc.buildout/trunk/bootstrap/bootstrap.py#python bootstrap.pyCreating directory "/root/buildout-demo/bin".
Creating directory "/root/buildout-demo/parts".
Creating directory "/root/buildout-demo/eggs".
Creating directory "/root/buildout-demo/develop-eggs".
Generated script "/root/buildout-demo/bin/buildout".引导脚本创建了目录bin,parts,eggs,develop-eggs,在bin目录下生成了buildout脚本。注解:
  • bin目录用来存放生成的脚本文件
  • parts目录存放生成的数据,大多用不上。
  • develop-eggs 存放指向开发目录的链接文件。和buildout.cfg中develop选项相关。
  • eggs 是存放从网络上下载下来的egg包。这些包一般在buildout.cfg中的egg选项里定义。
3. 创建配置文件:示例如下#vim buildout.cfg[buildout]# 每个buildout都要有一个parts列表,也可以为空。# parts用来指定构建什么。如果parts中指定的段中还有parts的话,会递归构建。parts = tools[tools]# 每一段都要指定一个recipe, recipe包含python的代码,用来安装这一段,# zc.recipe.egg就是将这下面的egg安装到eggs目录中recipe = zc.recipe.egg# 定义python解释器interpreter = python# 需要安装的eggeggs = pyramid上述示例表示将Pyramid集成到Python环境中。Pyramid是一款结构简单,稳定性好,响应速度快,文档完备,可扩展性强的WEB框架。运行Buildout构建安装:#bin/buildoutInstalling tools.
Getting distribution for "pyramid".......使用buildout来构建项目:#bin/pcreate -t starter myproject配置Buildout:#vim buildout.cfg
[buildout]
parts = tools [tools]recipe = zc.recipe.egginterpreter = pythoneggs = pyramid 
[apps]recipe = zc.recipe.eggeggs = myproject
运行buildout:#bin/buildout在Buildout环境中启动myproject:#bin/pserve myproject/development.iniStarting server in PID 40619.serving on http://0.0.0.0:65434. Buildout对运行目录的完全的控制权Buildout对运行目录具有完全的控制权,并且每次Buildout运行时,它都会读取buildout.cfg文件来查找指令,如果我们删除了列出的egg,它会有效删除命令行工具和库:若修改配置文件为:[buildout]
parts =其中egg和自定义的解释器都被删除,执行buildout之后:#bin/buildout -NUninstalling tools-N选项表示仅列出修改后的输出。查看bin目录,仅剩下Buildout命令行工具。本文永久更新链接地址:http://www.linuxidc.com/Linux/2014-05/101617.htm