对于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跨平台打包的更多相关文章

  1. [原]Android打包之跨平台打包

    Android自动打包流程详细图: 在前面一些博客我们知道了如何通过命令行打包,如何通过Eclipse打包,如何通过编写shell脚本来进行打包,但是这些都不能很好的跨平台进行打包. 因Python本 ...

  2. Python:使用Kivy将python程序打包为apk文件

    1.概述 Kivy是一套Python下的跨平台开源应用开发框架,官网,我们可以用 它来将Python程序打包为安卓的apk安装文件.以下是在windows环境中使用. 安装和配置的过程中会下载很多东西 ...

  3. 将Python 程序打包成 .exe格式入门

    PyInstaller PyInstaller 是一个十分有用的第三方库,可以用来打包 python 应用程序,打包完的程序就可以在没有安装 Python 解释器的机器上运行了. 它能够在 Windo ...

  4. 将Python脚本打包成可执行文件

    Python是一个脚本语言,被解释器解释执行.它的发布方式: .py文件:对于开源项目或者源码没那么重要的,直接提供源码,需要使用者自行安装Python并且安装依赖的各种库.(Python官方的各种安 ...

  5. [转]Python依赖打包发布详细

    Python依赖打包发布详细   http://www.cnblogs.com/mywolrd/p/4756005.html 将Python脚本打包成可执行文件   Python是一个脚本语言,被解释 ...

  6. Python依赖打包发布详细

    http://www.cnblogs.com/mywolrd/p/4756005.html 将Python脚本打包成可执行文件   Python是一个脚本语言,被解释器解释执行.它的发布方式: .py ...

  7. python程序打包工具 ── cx_Freeze

    cx_Freeze是一个类似py2exe的工具,它们区别是py2exe是将python程序打包成windows下可以执行的exe文件的,而cx_Freeze则是将python程序打包为linux下可以 ...

  8. 如何将 Python 程序打包成 .exe 文件?

    有不少订阅本公众号的朋友都不是玩 Python,甚至都不是计算机相关专业的,当我给他们一个 Python 程序时,他们是完全不知道该怎么运行的. 于是我想是不是可以将我的程序打包成可执行文件,直接运行 ...

  9. Python 程序打包成 exe 可执行文件

    Python 程序打包工具 Python 是一个脚本语言,被解释器解释执行.它的发布方式: .py 文件:对于开源项目或者源码没那么重要的,直接提供源码,需要使用者自行安装 Python 并且安装依赖 ...

随机推荐

  1. arcgis server multipoint 服务 applyedit功能

    首先打开arcmap,在catalog中新建 File GDB 在File GDB 中新建 Feature Class 类型选择 Multipoint 选择坐标 此时图层列表中有了新建的要素,点击Ed ...

  2. mysql transaction 事务

    1.事务简介 一个"最小的"不可再分的"工作单元". 一个事务通常对应了一个完整的业务.如:银行的转账功能,a转账给b,a扣钱,b加钱. 一个事务包含一条或多条 ...

  3. 简述ASP.NET的页面运行机制

    在深入学习ASP.NET之前,首先需要先了解一下ASP.NET的页面运行机制: 浏览以下内容需要对ASP.NET管道有一定的了解,附上很不错的几个链接: 选择HttpHandler还是HttpModu ...

  4. PHP操作Redis常用技巧

    这篇文章主要介绍了PHP操作Redis常用技巧,结合实例形式总结分析了php针对redis的连接.认证.string.hash等操作技巧与注意事项,需要的朋友可以参考下 本文实例讲述了PHP操作Red ...

  5. 人活着系列之芳姐和芳姐的猪(Floyd)

    http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2929 这个题一方面数据水,另一方面就是思维水, ...

  6. Hive学习笔记:基础语法

    Hive基础语法 1.创建表 – 用户表 CREATE [EXTERNAL外部表] TABLE [IF NOT EXISTS 是否存在] HUserInfo ( userid int comment ...

  7. 去掉python的警告

    1.常规警告 import warnings warnings.filterwarnings("ignore") 2.安装gensim,在python中导入的时候出现一个警告: w ...

  8. iOS学习之VFL语言简介

    什么是VFL语言 VFL(Visual Format Language),“可视化格式语言”. VFL是苹果公司为了简化autolayout的编码而推出的抽象语言. 语法说明 H:[cancelBut ...

  9. Lintcode: Heapify && Summary: Heap

    Given an integer array, heapify it into a min-heap array. For a heap array A, A[0] is the root of he ...

  10. linux rz sz

    对于经常使用Linux系统的人员来说,少不了将本地的文件上传到服务器或者从服务器上下载文件到本地,rz / sz命令很方便的帮我们实现了这个功能,但是很多Linux系统初始并没有这两个命令.今天,我们 ...