python程序打包工具 ── cx_Freeze
cx_Freeze是一个类似py2exe的工具,它们区别是py2exe是将python程序打包成windows下可以执行的exe文件的,而cx_Freeze则是将python程序打包为linux下可以直接执行的ELF格式的二进制可执行文件(看说明好像也能生成windows的可执行文件,号称跨平台)。
cx_Freeze的作用就是让你的python程序可以脱离python运行环境,在没有安装python的微型linux系统(例如cdlinux、tinycore等)里,方便地运行你的python程序。从功能上来说,也可以将其理解为一个python程序的编译器,将你的源码隐藏起来。
使用方法也很简单,下载以后,解压,如一般的python模块一样,cd到目录以后,
python setup.py install |
就可以完成安装,这样你的系统里就会有cxfreeze命令了。
然后,cd到你的python程序的目录执行
cxfreeze 你的程序文件.py --target-dir dist |
就会在当然目录生成一个dist的目录,里面就会有一堆so文件和可执行目标文件了,当然如果你还有图片或者其他数据文件的话,手工复制到相应目录,这时候运行那个可执行文件,就应该能看到效果了。
现在只需将dist目录打包,传到没有python的目标系统里,你程序也就能运行了。
PS: cx_Freeze还有另外两种使用方法,需要了解的话,可以自行查看随代码打包的html文档。
shellexy 在 2009年12月04日 22:26 说:【 】
喂~
骨头妳到底试过了干 PyGtk 没有,
bones7456 在 2009年12月04日 22:49 说:【 】
有啊,PyGtk的可以的,可能这个更适合linux吧。
shellexy 在 2009年12月04日 22:28 说:【 】
先前在 Win 下试用时就是比 py2exe 不靠谱得多
无限 在 2009年12月05日 11:01 说:【 】
你那天发给我的莫非就是这东西打包的?
bones7456 在 2009年12月05日 22:02 说:【 】
对的,呵呵~
Tweets that mention I am LAZY bones ? : python程序打包工具 ── cx_Freeze -- Topsy.com 在 2009年12月05日 12:17 说:【 】
[…] This post was mentioned on Twitter by exherb and 骨头, York Wong. York Wong said: [GReader] python程序打包工具 ── cx_Freeze http://bit.ly/6tk2e9 […]
xiooli 在 2009年12月05日 21:38 说:【 】
打出来的包大不?执行效率会不会提高?
bones7456 在 2009年12月05日 22:04 说:【 】
有GTK的环境下,gmbox打包以后未压缩是8M。效率就不知道了。。
Solrex 在 2009年12月06日 22:29 说:【 】
其实没有python环境的Linux太少了,这个东西的用处不怎么大
observer 在 2009年12月07日 04:11 说:【 】
同意没有python的环境太少了
不过,也许python版本不够高,而你1.没有权限不能升级之,2.有升级权限但是出于兼容性考虑不能升级,那么这个也能派上用处,我觉得还是不错的。
bones7456 在 2009年12月07日 08:33 说:【 】
你说的是PC用的linux,这样的linux确实大多都有python,但是一些适用于小设备的微linux,一共就十几M最多几十M的,没有python的就多了去了。。。