zoukankan      html  css  js  c++  java
  • Python跨平台打包

    对于pyinstaller,可以完成在windows,linux,和mac下的python脚本编译,生成exe,elf,.app文件;

    1.使用方法;

    在pyinstaller的官网上下载,一般是源码包,可以解压缩之后直接使用:

    python pyinstaller.py  test.py

     在pyinstaller的目录下 生成一个test目录,并且含有buid和dist两个子目录,子目录dist中存放可执行文件;

    2.如果需要编译成单个文件:

    python pyinstaller.py   -F  test.py  

    生成单个的可执行文件

    3.如果需要添加软件的图标:

    python pyinstaller.py   -F  test.py   -i test.icon

    注意一定是icon文件才行;

    3.如果编译GUI项目,可以使用

    python  pyinstaller.py -w test.py

    或者:

    python  pyinstaller.py -w test.pyw

    或者:

    python  pyinstaller.py -w --noconsole( windwos平台下)

    linux下默认没有弹窗(弹出terminal);

    4.在mac环境下编译,含有app可执行文件.

    python  pyinstaller.py  test.py -w  --windowed

    此时在项目目录下含有unix可执行文件和app文件

    5.压缩可执行文件

    使用upx;

    upx支持windows,linux32/64位;

    使用方法:

    Windows下:将upx.exe直接放置于PyInstaller的目录下;

    linux下使用指令:
    python  pyinstaller.py  test.py --upx-dir  /home/test/upx/

    6.mac下pyinstaller编译不稳定,可以使用py2app尝试。

    通过此次项目的完成过程,我体会到完成跨平台软件,兼容性是个大问题,此外,使用python完成的项目,暂时编译成可执行文件之后文件太大,执行效率低下;

    尤其是加入了GUI的项目,比如使用Qt之后的项目,编译成可执行文件执行速度和效率都降低。

    跨平台项目最好选用C语言或者java,因为现有的编译器都很方便。

  • 相关阅读:
    Oracle Time Model Statistics(时间模型统计)
    IBAction:IBOutlet:注意事项
    函数何时值传递,何时指针,何时引用传递总结
    更新客户配置文件
    UML的通用机制(三)
    数学之路-数据分析进阶-区间预计与如果检验(2)
    android应用开发-从设计到实现 3-3 Sketch静态原型设计
    测试MongoDB的自动分片
    详解MongoDB中的多表关联查询($lookup) (转)
    mongodb移除分片和添加分片(转)
  • 原文地址:https://www.cnblogs.com/xiongwei/p/8073341.html
Copyright © 2011-2022 走看看