IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

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

    Xiaoxia发表于 2013-09-25 07:24:01
    love 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 😀

    --2013年9月26日更新--

    附 SogouProxy便携版:

    下载 SogouProxy  (Python2.3运行环境,695KB)



沪ICP备19023445号-2号
友情链接