使用Buildout进行开发
2014-04-18 11:12
288 查看
关于Buildout
Buildout是由Zope公司的JimFulton开发的一个工具,可以管理创建新的应用程序。这些应用程序可以是Python程序或者其他程序,比如Apache。Buildout的一个主要目的是可以创建可复用的跨平台程序。Buildout通过一个配置文件,可以从多个部分创建、组装并部署新的应用,即使应用包含了非Python的组件,Buildout亦能胜任。Buildout不但能够像setuptools一样自动更新或下载安装依赖包,而且还能够像virtualenv一样,构建一个封闭隔离的开发环境。
使用Buildout
Buildout是一个非常智能的软件,仅需完成以下两件事情:
最新的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.cfg
2. 下载buildout的引导脚本bootstrap.py,运行bootstrap.py来生成buildout相关的文件和目录:
#wget http://svn.zope.org/*checkout*/zc.buildout/trunk/bootstrap/bootstrap.py
#python bootstrap.py
Creating 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
# 需要安装的egg
eggs = pyramid
上述示例表示将Pyramid集成到Python环境中。Pyramid是一款结构简单,稳定性好,响应速度快,文档完备,可扩展性强的WEB框架。
运行Buildout构建安装:
#bin/buildout
Installing tools.
Getting distribution for 'pyramid'.
......
使用buildout来构建项目:
#bin/pcreate -t starter myproject
配置Buildout:
#vim buildout.cfg
[buildout]
parts = tools
[tools]
recipe = zc.recipe.egg
interpreter = python
eggs = pyramid
[apps]
recipe = zc.recipe.egg
eggs = myproject
运行buildout:
#bin/buildout
在Buildout环境中启动myproject:
#bin/pserve myproject/development.ini
Starting server in PID 40619.
serving on http://0.0.0.0:6543
4. Buildout对运行目录的完全的控制权
Buildout对运行目录具有完全的控制权,并且每次Buildout运行时,它都会读取buildout.cfg文件来查找指令,如果我们删除了列出的egg,它会有效删除命令行工具和库:
若修改配置文件为:
[buildout]
parts =
其中egg和自定义的解释器都被删除,执行buildout之后:
#bin/buildout -N
Uninstalling tools
-N选项表示仅列出修改后的输出。查看bin目录,仅剩下Buildout命令行工具。
——游响云停
Buildout是由Zope公司的JimFulton开发的一个工具,可以管理创建新的应用程序。这些应用程序可以是Python程序或者其他程序,比如Apache。Buildout的一个主要目的是可以创建可复用的跨平台程序。Buildout通过一个配置文件,可以从多个部分创建、组装并部署新的应用,即使应用包含了非Python的组件,Buildout亦能胜任。Buildout不但能够像setuptools一样自动更新或下载安装依赖包,而且还能够像virtualenv一样,构建一个封闭隔离的开发环境。
使用Buildout
Buildout是一个非常智能的软件,仅需完成以下两件事情:
最新的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.cfg
2. 下载buildout的引导脚本bootstrap.py,运行bootstrap.py来生成buildout相关的文件和目录:
#wget http://svn.zope.org/*checkout*/zc.buildout/trunk/bootstrap/bootstrap.py
#python bootstrap.py
Creating 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
# 需要安装的egg
eggs = pyramid
上述示例表示将Pyramid集成到Python环境中。Pyramid是一款结构简单,稳定性好,响应速度快,文档完备,可扩展性强的WEB框架。
运行Buildout构建安装:
#bin/buildout
Installing tools.
Getting distribution for 'pyramid'.
......
使用buildout来构建项目:
#bin/pcreate -t starter myproject
配置Buildout:
#vim buildout.cfg
[buildout]
parts = tools
[tools]
recipe = zc.recipe.egg
interpreter = python
eggs = pyramid
[apps]
recipe = zc.recipe.egg
eggs = myproject
运行buildout:
#bin/buildout
在Buildout环境中启动myproject:
#bin/pserve myproject/development.ini
Starting server in PID 40619.
serving on http://0.0.0.0:6543
4. Buildout对运行目录的完全的控制权
Buildout对运行目录具有完全的控制权,并且每次Buildout运行时,它都会读取buildout.cfg文件来查找指令,如果我们删除了列出的egg,它会有效删除命令行工具和库:
若修改配置文件为:
[buildout]
parts =
其中egg和自定义的解释器都被删除,执行buildout之后:
#bin/buildout -N
Uninstalling tools
-N选项表示仅列出修改后的输出。查看bin目录,仅剩下Buildout命令行工具。
——游响云停
相关文章推荐
- Windows Mobile 下使用C#进行GPRS、CDMA开发(转)
- Linux下使用MyEclipse进行Hadoop的开发
- 使用Android Studio进行NDK开发
- Xcode5.1离线下载安装及使用iOS5模拟器进行开发调试的方法
- 准备使用MyBatis进行开发
- 使用Google Code + SVN进行多人开发
- PHP开发接口使用RSA进行加密解密方法
- 使用NetBeans进行J2ME开发(五):揭开游戏开发的神秘面纱
- Ant---利用 Ant 和 JUnit 进行增量开发使用单元测试来逐步改进代码
- 使用studio进行nc开发启动客户端出现 java.lang.OutOfMemoryError: Java heap space 异常
- 使用Libgdx进行游戏开发(10)-音乐音效不求人,程序员也可以DIY
- select2插件与knockoutjs插件配合使用进行微信select下拉框开发
- java开发中如何使用JVisualVM进行性能分析
- 使用Java进行FreeMarker的web模板开发的基础教程
- 使用C#/.net语言进行ProE/Creo二次开发
- ios开发中使用NSLocalizedString进行多种语言的支持
- 使用百度地图API进行Android地图应用开发(Eclipse)
- Spring+JDBC组合开发 - 使用JdbcTemplate进行insert/update/delete/query操作
- 开发 -- 使用Git进行远程多人开发
- 使用C#作为Cocos2dx引擎脚本语言进行游戏开发——C#脚本简介(一)