把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. STM32 - 软件设置单片机重启

    __set_FAULTMASK();//关闭总中断 NVIC_SystemReset();//请求单片机重启 执行NVIC_SystemReset()函数不允许被打断,所以关总中断

  2. linux上抓包

    使用tcpdump命令. 使用tcpdump -help查看其用法. -i eth0:在第一块网卡上进行抓包. -w filename.cap:将抓的保存到当前目录下的filename.cap文件中, ...

  3. (第三章,第四章)http报文内的http信息,返回结果的http状态码

    第三章 http报文内的http信息 用于http协议交互的信息被称为http报文,包括请求报文和响应报文. 1.编码提升传输速率,在传输时编码能有效的处理大量的访问请求.但是编码的操作是计算机完成的 ...

  4. PHP把数据库数据导入Excel

    <?php function xlsBOF() { echo pack("ssssss", 0x809, 0x8, 0x0, 0x10, 0x0, 0x0); return; ...

  5. HDU 1002 A + B Problem II (大数加法)

    题目链接 Problem Description I have a very simple problem for you. Given two integers A and B, your job ...

  6. CSS3禁止网页中文本被选中代码

    通常大家会有js来实现,另一个方案就是,将-webkit-user-select 和-moz-user-select 的值设为none,这针对于移动用户,可能会很有用.请谨慎使用这个属性:因为大部分用 ...

  7. 深入理解 JavaScript(四)

    前言 Bob 大叔提出并发扬了 S.O.L.I.D 五大原则,用来更好地进行面向对象编程,五大原则分别是: The Single Responsibility Principle(单一职责 SRP) ...

  8. 【EverydaySport】健身笔记——动态牵拉

    动态牵拉,包含了动态和牵拉两个概念.动态牵拉要求牵拉的过程要伴随着走路,即行进中牵拉,动态牵拉不仅可以使得肌肉得到延展,还可以激活肌肉协同工作,发展协调性.灵活性.进行动态牵拉时每个动作要进行5~10 ...

  9. 禁用 Cortana 的解决办法

    1. GPedit.msc 2. 然后在本地组策略编辑器中,点击“用户配置”中的“管理模版”,接着双击右侧的“Windows 组件”. 3. 下拉滚动条,并找到“文件资源管理器”,双击进入. 找到“在 ...

  10. 菜鸟学习nodejs--Socket.IO即时通讯

    https://blog.csdn.net/lovemenghaibin/article/details/51263774