今天终于解决了编译问题,或者说从现在来看,暂时没有问题了。
我放弃了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,唉,早知道这样昨天的时间全白花了。
阅读(5129) | 评论(0) | 转发(0) |