把Python程序转为可执行的EXE文件,之前已经介绍过,像py2exebbfreeze。 以我自己使用的经历来看,这两款都还不错,比较适合简单的Python程序,如果你加载的第三方类库比较多的话,不仅体积大,而且可能打包之后还是无法执 行。而且有的打包之后,执行时不是单个窗口,有一个类似Console的黑框框(听说可以取消,但不知道如何配置)。之前写过一个画宝宝身高和体重趋势的 Python程序,一直想把它打包,但无奈,这两款软件都没能成功。

今天搜索一番,发现还有一个工具,当然不止一个啦,StackOverFlow里面讨论中,比较推荐PyInstaller, 而且让我意外的是,PyInstaller本身并不属于Python包,所以你无须把它放在site-packages文件夹内。安装过程也比较简单:

1. 你从官网下载之后,解压到某个目录,比如C:\ItDevelop\pyinstaller15

2.  Pyinstaller不需要安装,但是需要进行一个配置,配置信息跟当前系统有关,配置结果保存在config.dat文件内,所以如果你更换python版本,需要重新执行这个配置命令:

1
python Configure.py

要能够在正确执行这个命令,你首先必须配置环境变量:把python的安装路径添加到path变量中。然后cmd到pyinstaller的根目录。

C:\ItDevelop\pyinstaller15>python Configure.py
ERROR: Python 2.6+ on Windows support needs pywin32
Please install http://sourceforge.net/projects/pywin32/

C:\ItDevelop\pyinstaller15>python Configure.py
I: computing EXE_dependencies
I: Finding TCL/TK…
W: library coredll.dll required via ctypes not found
I: Analyzing C:\ItDevelop\python27\DLLs\_tkinter.pyd
I: Adding tcl85.dll dependency of _tkinter.pyd

I: … resource update available
I: Testing for Unicode support…
I: … Unicode available
I: testing for UPX…
I: …UPX unavailable
I: computing PYZ dependencies…
I: done generating config.dat

如果配置过程中提示你需要安装pywin32,那么代表你之前没有安装它,下载安装完即可。结果提示保存在config.dat文件中。其中config.dat文件存放在pyinstaller的根目录。

3. 创建spec文件:

1
2
C:\ItDevelop\pyinstaller15>makespec.py -F -w --icon=D:\BabyWandH\src\faviconw.ic
o D:\BabyWandH\src\BabyWandH.py

icon是你喜欢的图标文件,py为你要打包的程序。执行完毕之后,在pyinstaller安装路径下会自动生成一个和py文件的文件名相同的文
件夹,文件夹内有spec文件。本例子中C:\ItDevelop\pyinstaller15\BabyWandH\BabyWandH.spec。
4. 最后开始build生成exe文件,首先把上一步生成的spec文件,拷贝到与你py源文件的相同目录下D:\BabyWandH\src\,然后执行:

1
C:\ItDevelop\pyinstaller15>build.py D:\BabyWandH\src\BabyWandH.spec

在D:\BabyWandH\src\dist目录下就已经生成了你所需要的exe文件。

参考资料:pyinstaller官方pdf

PyInstaller:把你的Python转为Exe的更多相关文章

  1. (转)使用 PyInstaller 把python程序 .py转为 .exe 可执行程序

    最近使用Python为项目开发一款绘图工具(绘出 声场三维模型).因为希望能把Python脚本发布为脱离Python平台运行的可执行程序,比如单个的exe文件.PyInstaller恰满足这个需求.本 ...

  2. python程序转为exe文件

    python开发者向普通windows用户分享程序,要给程序加图形化的界面(传送门:这可能是最好玩的python GUI入门实例! http://www.jianshu.com/p/8abcf73ad ...

  3. Python打包EXE神器 pyinstaller

    最近由于项目需要,以前的python文件需要编辑为EXE供前端客户使用. 由于最早接触的是distutils,所以一开始准备使用distutils和py2exe搭配来进行python的exe化,也就是 ...

  4. python制作exe可执行文件的方法---使用pyinstaller

    python制作exe可执行文件的方法---使用pyinstaller   python生成windows下exe格式的可执行程序有三种可选方案: py2exe是大家所熟知的,今天要介绍pyinsta ...

  5. 【Python学习】使用Pyinstaller将py文件导出为exe文件

    PyInstaller其实就是把python解析器和你自己的脚本打包成一个可执行的文件,但是它不是跨编译的,也就是说在Windows下用PyInstaller生成的exe只能运行在Windows下,在 ...

  6. python预课04 列表,元祖,统计值计算示例,py文件转为EXE文件,爬虫初步学习

    列表,元组 #list l1 = [1, 2, 3, '高弟弟'] #定义一个列表 #增 l1.append("DSB") #最后增加"DSB"的元素 #删 l ...

  7. Pyinstaller 打包python 到exe 在windows下免python环境运行python

    在创建了独立应用(自包含该应用的依赖包)之后,还可以使用 PyInstaller 将 Python 程序生成可直接运行的程序,这个程序就可以被分发到对应的 Windows 或 Mac OS X 平台上 ...

  8. python生成.exe

    python生成.exe 1.在Anaconda Prompt终端输入pip install pyinstaller 2.输入python -m pip install pypiwin32 pytho ...

  9. python的exe反编译

    目录 python的exe反编译 方法一.使用archive_viewer.py提取pyc 方法二.使用pyinstxtractor.py提取pyc python的exe反编译 驱动人生样本为pyth ...

随机推荐

  1. lnmp环境不支持require 解决方法

    lnmp环境配置: 3处改动地方---->排查过程: 从phpinfo.php中查找php.ini-----所在位置 /usr/local/php/etc/php.ini 1.display_e ...

  2. 疯狂java学习笔记

    面向对象: 从现实世界中客观存在的事物(对象)出发构造软件系统,并在软件系统构造中运用人类的自然思维方式,强调直接以现实世界中的事物为中心来思考,认识问题,并根据这些事务的本质特点,将他们抽象为系统中 ...

  3. 使用kubeadm安装Kubernetes 1.12

    使用kubeadm安装Kubernetes 1.12 https://blog.frognew.com/2018/10/kubeadm-install-kubernetes-1.12.html 测试环 ...

  4. AndroidStudio下加入百度地图的使用(一)——环境搭建

    AndroidStudio下加入百度地图的使用(一)--环境搭建 最近有学生要做毕业设计,会使用到定位及地图信息的功能,特此研究了一下,供大家参考,百度定位SDK已经更新到了5.0,地图SDK已经更新 ...

  5. 南阳ACM 题目22:素数求和问题

    素数求和问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:2 描述 现在给你N个数(0<N<1000),现在要求你写出一个程序,找出这N个数中的所有素数,并求和. ...

  6. 元类编程--__getattr__, __getattribute__

    #__getattr__, __getattribute__ #__getattr__ 就是在查找不到属性的时候调用 from datetime import date class User: def ...

  7. 【uva12232/hdu3461】带权并查集维护异或值

    题意: 对于n个数a[0]~a[n-1],但你不知道它们的值,通过逐步提供给你的信息,你的任务是根据这些信息回答问题: I P V :告诉你a[P] = V I P Q V:告诉你a[P] XOR a ...

  8. bzoj 1635: [Usaco2007 Jan]Tallest Cow 最高的牛——差分

    Description FJ's N (1 <= N <= 10,000) cows conveniently indexed 1..N are standing in a line. E ...

  9. [BZOJ2754] [SCOI2012]喵星球上的点名解题报告|后缀数组

    a180285幸运地被选做了地球到喵星球的留学生.他发现喵星人在上课前的点名现象非常有趣.   假设课堂上有N个喵星人,每个喵星人的名字由姓和名构成.喵星球上的老师会选择M个串来点名,每次读出一个串的 ...

  10. MSSQL 数据库性能优化

    优化数据库的注意事项: 1.关键字段建立索引. 2.使用存储过程,它使SQL变得更加灵活和高效. 3.备份数据库和清除垃圾数据. 4.SQL语句语法的优化. 5.清理删除日志. SQL语句优化的基本原 ...