一直使用的是py2exe,因为当前主要是开发windows平台下的程序。由于开发的内容需要,肯定会有Linux下的程序出现,虽然定了大方向是使用pyinstaller,不过一直没去用,这二天整理了下思路,准备开始试着把一些程序转移至linux下来用了,所以有了今天的研究和对比。
在pyinstaller主页上找到了文档和下载,,当前的最新稳定版本是1.4,已经有了1.5.
而我使用的py2exe当前版本记的是0.69,。
使用py2exe已经有好几年了,似乎从08年起就一直是0.69没更新过,不过的确py2exe很稳定了,似乎没有必要再怎么更新。
今天使用了下windows下的pyinstaller,感觉真的是简单,不需要安装,通吃windows和linux。不需要写setup.py,而且只要先Configure一次以后,平时只要make和build一次就能直接生成执行文件。而Py2exe先要准备setup.py,然后再去执行他,方便性略差一些。
不过早上小小的把原先可以用py2exe成功编译的程序,再用pyinstaller来编译了一下,发现大部分都不能成功,而简单的helloworld那是肯定成功行的。目前原因还不明,要仔细研究,问题似乎发生在当调用其他的python模块或其他py文件时pyinstaller的问题,还需要再研究,同时最重要的是我主要会在linux下使用pyinstaller的,这个一定要搞定的。
2011年3月8日,我研究pyinstaller1.4已经快二天了,虽然没有一直泡在里面,可是的确没有搞定linux下的pyinstaller,在最终时报了一个错:
[root@localhost pyinstaller-1.4]# python Build.py a.spec
Traceback (most recent call last):
File "Build.py", line 34, in
import mf
File "/root/pyinstaller-1.4/mf.py", line 817, in
JUMP_IF_FALSE = dis.opname.index('JUMP_IF_FALSE')
ValueError: 'JUMP_IF_FALSE' is not in list
我不知道怎么解决它,还在研究中。
阅读(2403) | 评论(0) | 转发(0) |