PyInstaller:把你的Python转为Exe
把Python程序转为可执行的EXE文件,之前已经介绍过,像py2exe,bbfreeze。 以我自己使用的经历来看,这两款都还不错,比较适合简单的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.pydI: … 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.ico 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的更多相关文章
- (转)使用 PyInstaller 把python程序 .py转为 .exe 可执行程序
最近使用Python为项目开发一款绘图工具(绘出 声场三维模型).因为希望能把Python脚本发布为脱离Python平台运行的可执行程序,比如单个的exe文件.PyInstaller恰满足这个需求.本 ...
- python程序转为exe文件
python开发者向普通windows用户分享程序,要给程序加图形化的界面(传送门:这可能是最好玩的python GUI入门实例! http://www.jianshu.com/p/8abcf73ad ...
- Python打包EXE神器 pyinstaller
最近由于项目需要,以前的python文件需要编辑为EXE供前端客户使用. 由于最早接触的是distutils,所以一开始准备使用distutils和py2exe搭配来进行python的exe化,也就是 ...
- python制作exe可执行文件的方法---使用pyinstaller
python制作exe可执行文件的方法---使用pyinstaller python生成windows下exe格式的可执行程序有三种可选方案: py2exe是大家所熟知的,今天要介绍pyinsta ...
- 【Python学习】使用Pyinstaller将py文件导出为exe文件
PyInstaller其实就是把python解析器和你自己的脚本打包成一个可执行的文件,但是它不是跨编译的,也就是说在Windows下用PyInstaller生成的exe只能运行在Windows下,在 ...
- python预课04 列表,元祖,统计值计算示例,py文件转为EXE文件,爬虫初步学习
列表,元组 #list l1 = [1, 2, 3, '高弟弟'] #定义一个列表 #增 l1.append("DSB") #最后增加"DSB"的元素 #删 l ...
- Pyinstaller 打包python 到exe 在windows下免python环境运行python
在创建了独立应用(自包含该应用的依赖包)之后,还可以使用 PyInstaller 将 Python 程序生成可直接运行的程序,这个程序就可以被分发到对应的 Windows 或 Mac OS X 平台上 ...
- python生成.exe
python生成.exe 1.在Anaconda Prompt终端输入pip install pyinstaller 2.输入python -m pip install pypiwin32 pytho ...
- python的exe反编译
目录 python的exe反编译 方法一.使用archive_viewer.py提取pyc 方法二.使用pyinstxtractor.py提取pyc python的exe反编译 驱动人生样本为pyth ...
随机推荐
- FreeRTOS ------ 栈、堆、任务栈
1.任务的栈资源(创建任务分配的资源,单位是4字节)来自 configTOTAL_HEAP_SIZE 定义的堆,如果任务栈总量超过 configTOTAL_HEAP_SIZE,任务创建失败: 2.如果 ...
- ASP.NET创建三层架构图解详细教程
1.新建项目 2.创建Visual Studio解决方案 3.再创建项目 4.选择类库类型 5.依次创建bll(业务逻辑层),dal(数据访问层)和model(模型层也可以叫实体层) 6.添加一个网站 ...
- [LeetCode] Simplify Path,文件路径简化,用栈来做
Given an absolute path for a file (Unix-style), simplify it. For example,path = "/home/", ...
- LightOJ 1023 Discovering Permutations 水题
http://www.lightoj.com/volume_showproblem.php?problem=1023 题意:26字母全排列 思路:用next_permutation或者思维想一下都可以 ...
- Stirling数笔记
Updating.... 这几个玩意儿要记的东西太多太乱所以写blog整理一下 虽然蒯的成分会比较多全部 我居然开始记得写blog了?? 第一类 这里讨论的是无符号类型的. OEIS编号A130534 ...
- 【BZOJ】1589: [Usaco2008 Dec]Trick or Treat on the Farm 采集糖果
[算法]基环树DP [题意]给定若干有向基环树,每个点能走的最远路径长度. [题解] 参考:[BZOJ1589]Trick or Treat on the Farm 基环树裸DP by 空灰冰魂 考虑 ...
- C++ Vector 中自定义对象的排序
需求: 客户端收到游戏中的所有联盟列表,现在需要按联盟的属性比如lv来进行排序. 数据存储: 每个联盟数据是一个对象,所有的联盟列表存在一个vector容器里面. 老的解决方法: 冒泡排序方法算法 新 ...
- Microsoft Visual Studio TFS 切换登录用户的方法
方法一 用VS2012开发项目,一直困扰着我的是不知道怎么去切换TFS的登录帐户,因为每次TFS都是用默认的账户连接到TFS服务器,有时想切换另一个用户登录TFS服务器, 不知道从何下手,今天总算找到 ...
- Html5_sessionStrong和localStorage的灵活使用
谈谈这两个属性sessionStrong和localStorage是Html5新增点属性,用来记录一些数据在浏览器. 两者的区别sessionStrong存储的数据是暂时的,浏览器关掉后,存储下来的数 ...
- Xutils使用详解
刚开始的时候,在 GitHub 上面出现了一款强大的开源框架叫 xUtils,里面包含了很多实用的android工具,并且支持大文件上传,更全面的 http 请求协议支持(10种谓词),拥有更加灵活的 ...