Chinaunix首页 | 论坛 | 博客
  • 博客访问: 231241
  • 博文数量: 32
  • 博客积分: 1971
  • 博客等级: 上尉
  • 技术积分: 390
  • 用 户 组: 普通用户
  • 注册时间: 2004-10-15 12:54
文章分类

全部博文(32)

文章存档

2012年(6)

2011年(19)

2009年(7)

分类: Python/Ruby

2011-03-24 10:31:03

今天终于解决了编译问题,或者说从现在来看,暂时没有问题了。
我放弃了pyinstaller,现在使用的是cx_freeze,然而cx_freeze在安装上也有一些注意要点的,我今天回头看了cx_freeze的主页,然后再自己摸索着搞定了,现在编译出来的东西已经可以使用了,至少暂时在开发机上运行没问题,我相信脱出来也是没问题的。

把完整的cx_freeze在CentOS5.4的安装方法写一下吧,我相信一定还有人和有一样的问题。

1.首先去官网下载RPM和源代码包,注意二个都要下,我就是犯这个错。请去官网下载,。我使用的是python2.7,而且我是用的CentOS5.4的32位版本,所以我下的是CentOS5 i386 RPM(Python 2.7),以及Source Code only这二个包。

2.下载后解压就不解释了,先把源码包解出来,一看很简单,我安装的python2.7,所以执行python2.7 setup.py install就很快OK了。

3.rpm包也很好办,接下来执行rpm -ivh cx_Freeze-4.2.3-py27-1.i386.rpm,顺利完成。

4.接下来,如果直接运行cxfreeze命令,会报错说找不到/usr/bin/python2.7,因为我是自己make install的python2.7代码包,所以自动是装在/usr/local/bin下的,建个link就行,ln -s /usr/local/bin/python2.7 /usr/bin/python2.7 ,再执行一下cxfreeze,看是不是报参数未填的help了呢,如果是,那就说明成功了。

cxfreeze的使用还错简单,就一个命令,主页上也说了cxfreeze hello.py --target-dir dist,我试了一下,好用。
分析了一下,cxfreeze的原理似乎是分析py文件,然后把程序中会用到的所有库都copy到目标目录中,然后把程序打包出来用。
这个方法使得出来的文件巨多,一大堆的so,而且似乎没有压缩,程序好象比较大的样子,需要再研究下能否打成整包并减少大小。
不过这都是以后的事了。

昨天下午因为搞不定编译的问题,我的程序有部分要改适应源代码下运行,反而花了几个小时去修这些无关的BUG,唉,早知道这样昨天的时间全白花了。


阅读(5044) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~