聚合国内IT技术精华文章,分享IT技术精华,帮助IT从业人士成长

Windows上最小的Python运行环境,700KB

2013-09-26 00:21 浏览: 8309 次 我要评论(0 条) 字号:

之前还没有编译过Windows上的Python,打包发布一般使用py2exe和pyinstaller,生成的文件至少有3MB。而且Python只有VS的Project文件,也就是说,如果自己要用GCC来编译,就需要自己编写或者修改Makefile了。我是在Debian上安装了Mingw32之后,修改默认的Makefile来让它支持编译成Windows版本,而且源代码有大幅度改动,所以这里就不把过程写出来了,我也忘了做了多少修改。编译方法可以参考我的上一篇博文。建议有VS的同学还是选择VS编译比较方便,不用改动那么多。

python23

 

图是我编译好的Python环境,运行以前写的Sogou代理脚本。这次我使用的是Python2.3这个版本,编译出来的文件用UPX压缩过之后,体积还是小的很可观。对比如下:

Python2.3(Windows):   不带库 412KB,带基本标准库 695KB
Python2.6(Linux):   不带库 800KB,带基本标准库 1.3MB
Python3.3(Linux):不带库 1MB,带基本标准库 2.1MB

这次Windows的Python2.3版本,编译了下面的内建模块:

builtin23

 

标准库文件都打包进了libpy.dll,这不是一个动态链接库文件,而是一个zip压缩包,里面有标准库编译好的pyc。

standard23

 

编译好的Python.exe也改名成为runapp.exe了。而且默认参数运行的不是一个可交互的shell,如果要交互,可以随意加一个参数,例如-v之类的。

如果默认没有参数的话,会调用当前目录下一个叫main.app的pyc文件(编译好的py)。

做的这些修改,都是为了方便把Python运行环境部署和嵌入到其他应用之中。需要注意的是,毕竟不是一个完整的环境,所以某些功能例如SSL以及emails的标准库,都不在其中。我喜欢的urllib和SimpleHTTPServer还是有的,如果没有,可以自己打包进libpy.dll :-D



网友评论已有0条评论, 我也要评论

发表评论

*

* (保密)

Ctrl+Enter 快捷回复