Chinaunix首页 | 论坛 | 博客
  • 博客访问: 63933
  • 博文数量: 13
  • 博客积分: 458
  • 博客等级: 一等列兵
  • 技术积分: 165
  • 用 户 组: 普通用户
  • 注册时间: 2012-02-28 10:13
文章分类

全部博文(13)

文章存档

2012年(13)

分类: Python/Ruby

2012-03-02 18:35:55

最近,项目有个要求,需要做自动打包工具,考虑到项目本身是python语言编写,因此决定用python写一个工具。

要求如下:
1. 获取SVN上最新代码
2. 将JS/CSS文件进行压缩,有利于减少文件大小,并可适当对JS/CSS进行代码混乱。
3. 安装包内不包含.py源代码文件

根据需求,有以下几点考虑:
1. 使用svn up命令获取SVN上最新代码
2. 使用yui compressor进行JS/CSS压缩
3. 使用python的distribute进行打包,setuptools将会停止升级,distribute做为setuptools的目前替代工具
4. 程序通过os.system直接调用svn、java(yui compressor使用)、python等命令

处理步骤如下:
1. 自动更新SVN
  1. svn up /home/jann/project/
2. 由于需要对JS/CSS文件进行压缩,因此将distribute分成两部分,第一部分为build包,然后进行JS/CSS文件压缩,然后再生成egg包。因此本步骤为build包
  1. python setup.py --build-lib = lib.linux-x86_64-2.7
其中的linux-86_64可以通过pkg_resources.get_build_platform获得,2.7可以通过sysconfig.get_python_version获得。因为python setup.py是通过这个目录生成egg包,因此必需保持该目录名

3. 使用yui compressor进行JS/CSS压缩
  1. java -jar home/jann/tools/yuicompressor-2.4.7.jar sFile -o dFile
4. 生成egg包
  1. python setup.py bdist_egg --skip-build --exclude-source-files
--skip-build因为前面已build过了,不需要再次build,--exclude-source-files表示包里面过滤掉源代码文件

至此,将会在dist目录中生成对应的.egg安装包。

通过easy_install可以.egg包安装到其他环境中。(虽然推荐pip代换easy_install,但由于pip不能安装egg包而只能安装source包,因此暂时还是使用easy_install进行安装)

阅读(2710) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:Ubuntu下安装五笔拼音输入法

给主人留下些什么吧!~~