Python跨平台打包

Posted 熊伟

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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,因为现有的编译器都很方便。

以上是关于Python跨平台打包的主要内容,如果未能解决你的问题,请参考以下文章

Python笔记-windows平台中Flask打包成exe

Python笔记-Linux平台中Flask打包成执行程序

Pycharm怎么打包Python脚本

使用PyInstaller打包Python角本为exe程序

Python程序打包成Android包

Windows平台搭建基于PyQt5.8.2开发Python GUI程序的环境(含打包过程)