pyinstaller跨平台python编译问题总结

原创 2014年09月05日 17:11:51

对于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 打包工具对比,Nuitka vs Pyinstaller

Python 打包工具对比,Nuitka vs Pyinstaller因为工作需要,需要把一个Python脚本打包封装后在公司内推广,原先以为代码写完,功能正常就完事了,没想到Python跨平台打包是...

python 使用pyinstallers打包成exe

优点: pyinstaller 是跨平台的可以用在linux和windows系统上 操作非常简单,几个命令就搞定了,这个比py2exe容易用多了 缺点: 打包后的体积过大,因为要带python.dll...

linux下使用pyinstaller打包python脚本

最近给运维写一个系统维护的python脚本,但是被告知生产环境有很多服务器没有安装python解释器,于是在网上搜索多pyinstaller解决方案,本文简单记录之。 1. 下载pyinstalle...

pyinstaller相关错误

http://blog.csdn.net/pipisorry/article/details/50620495 [Errno 2] No such file or directory: 'C:\Us...

python下RSA加密解密以及跨平台问题

项目合作需要,和其他网站通信,消息内容采用RSA加密方式传递。之前没有接触过RSA,于是两个问题出现了: 声明: 环境WIN 7 + python 2.6.6 RSA格式:PEM 一、Python...

python下RSA加密解密以及跨平台问题

转自 : http://blog.csdn.net/m0_37541266/article/details/72417183 项目合作需要,和其他网站通信,消息内容采用RSA加密方式...

minGW, cygwin, GnuWin32【C++的跨平台交叉编译问题】

原文:http://www.cnblogs.com/2018/archive/2012/03/10/2386128.html 这几天在整C++的跨平台交叉编译问题,总算告一段落,把具体涉及的...

C++字符串常量跨平台编译问题(与字符串编码相关)

1. 问题 在C++代码中,给一个string类型的变量赋值一个中文字符串常量,例如: string s = "中文字符串" 变量s中保存的字节内容是什么?如果源文件的编码格式转换了,比如从GB...

cocos2dx 跨平台编译遇到的几个问题

首先声明一下自己用的版本 vs2010   cocos2d-x_2.2    ndk_r9 1. 安装cygwin之后,也设置好了 ndk_root, 但是 cd $NDK_ROOT 进入不了, 只好...

minGW, cygwin, GnuWin32【C++的跨平台交叉编译问题】

minGW, cygwin, GnuWin32【C++的跨平台交叉编译问题】 2012-03-10 09:03:22 标签:官方网站 blank 160 target color ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:pyinstaller跨平台python编译问题总结
举报原因:
原因补充:

(最多只允许输入30个字)