使用pyinstaller将Python打包为exe文件
当我们完成一个Python项目或一个程序时,希望将Python的py文件打包成在Windows系统下直接可以运行的exe程序,那么pyInstaller就是一个很好的选择。pyInstaller可以将Python程序打包成Windows(当然也包括Linux, Mac OS X, Solaris and AIX)下可执行的EXE文件。
1. 安装pyinstaller
官网下载地址:http://www.pyinstaller.org/downloads.html

可以看到官网提供了两种安装的方式:1)通过pip直接安装;2)下载源码,在本地编译安装。
(1)通过pip安装
方式一:直接安装
pip install pyinstaller
方式二:通过升级的方式更新到较新的版本
pip install --upgrade pyinstaller
方式三:直接安装当前开发版本
pip install https://github.com/pyinstaller/pyinstaller/archive/develop.tar.gz
(2)下载源码,在本地编译安装
访问上述官网下载地址,下载源码安装包,然后解压安装包,打开cmd并进入安装包解压目录,可以看到该目录下有一个setup.py的文件

运行安装指令:
python setup.py install
当看到“Finished processing dependencies for PyInstaller==3.5.dev0+0d289e49b”字样,说明安装成功,也可以通过 pyinstaller -v 命令查看是否安装成功

2.pyinstaller依赖安装
使用pyinstaller需要安装windows拓展Pywin32。
下载地址:https://sourceforge.net/projects/pywin32/files/pywin32/Build 221/
3. pyinstaller使用
先来看一下pyinstalller有哪些那些常用参数:
| 参数 | 含 义 |
|---|---|
| -F, --onefile | 打包一个单个文件,只生成一个exe文件。如果你的代码都写在一个.py文件的话,可以用这个,如果是多个.py文件就别用 |
| -D, --onedir | 打包多个文件,在dist中生成很多依赖文件,适合以框架形式编写工具代码,代码易于维护,推荐使用 |
| --distpath | 指定生成的exe存放的目录(.\dist) |
| --workpath | 指定编译中临时文件存放的目录(.\build) |
| -i, --icon | 指定exe图标 |
| -p, --paths | 指定exe依赖的包、模块 |
| -d, --debug | 产生debug版本的可执行文件.编译为debug模式,获取运行中的日志信息 |
| --clean | 清理编译时临时文件 |
| -c, --console, --nowindowed | 使用控制台(默认方式) |
| -w, --windowed, --noconsole | 使用窗口 |
| --version-file | 添加exe版本信息 |
| -v, --version | 版本信息查看 |
| -h, --help | 查看帮助 |
示例:
(1)生成一个控制台程序
pyinstaller test.py
(2)只生成一个EXE文件
pyinstaller -F test.py
(3)只生成一个EXE文件的窗口程序
pyinstaller -F -w test.py
(4)生成一个图标为my.icon的程序
pyinstaller -F --icon=my.icon test.py
使用pyinstaller将Python打包为exe文件的更多相关文章
- Pyinstaller(python打包为exe文件)
需求分析: python脚本如果在没有安装python的机器上不能运行,所以将脚本打包成exe文件,降低脚本对环境的依赖性,同时运行更加迅速. 当然打包的脚本似乎不是在所有的win平台下都能使用, ...
- 使用pyinstaller将python打包成exe文件
步骤: 1)win+R 输入cmd打开dos窗口 2)先安装pyinstaller: pip install pyinstaller 3)然后使用cd命令进入项目文件的路径下: 4)再使用命令 ...
- Pyinstaller (python打包为exe文件)
需求分析: python脚本如果在没有安装python的机器上不能运行,所以将脚本打包成exe文件,降低脚本对环境的依赖性,同时运行更加迅速. 当然打包的脚本似乎不是在所有的win平台下都能使用,wi ...
- 反编译python打包的exe文件
目录 1.前言 2.使用环境 3.还原过程 4.号外 5.exe文件和所用到的反编译工具 6.参考 7.去签名(补漏) 前言 拿到了利用驱动人生进行传播的病毒样本,发现是python打包成的exe文件 ...
- Python打包成exe文件很难?一分钟即可学会,并添加图标!
环境1.python 3.72.pyinstaller下载方式:2.1 python安装(略)2.2 安装pyinstaller打开DOS窗口输入以下命令:pip install pyinstalle ...
- python打包生成exe文件
今天任务让做一个可以在Win上直接执行的脚本,百度了下原来可以生产.exe文件.神奇了 安装 pyInstaller pip install pyInstaller 进入要打包文件的目录 执行 py ...
- python打包成为exe文件
pyinstaller 库的使用 PyInstaller是一个十分有用的第三方库,它能够在Windows.Linux.Mac OS X 等操作系统下将 Python 源文件打包,通过对源文件打包,Py ...
- python打包为exe文件
1.安装 pyinstaller 包 pip3 install pyinstaller 2.进入python文件目录 进入Python程序文件夹py文件处,按住shift并且右键,在弹出的选项中点击& ...
- 将python打包为.exe文件
第一步:在https://pypi.python.org/pypi/PyInstaller/2.1 下载pyinstaller. 第二步:解压缩,在该目录下命令行中执行python setup.py ...
随机推荐
- 效率对比:各种语言构造100W个时间对象
原本是用perl写了一个通过给定的时间范围来筛选一个比较大的日志文件.但是测试发现筛选130W行日志需要2分多钟,对其中几个低效率函数单独进行了效率测试,发现构造100W个时间对象所花时间也是个大户. ...
- Chrome,本地页面和插件
今天测试一款Chrome插件,这款插件提供了一些本地页面做测试用,在解决一些技术问题之后,在插件的官网上可以测试成功了,但是在本地页面上测试时Chrome始终会拦截插件,即使在右上角的地址栏中允许该本 ...
- 【转】Java类加载原理解析
原链接 1 基本信息 每个java开发人员对java.lang.ClassNotFoundExcetpion这个异常肯定都不陌生,这背后就涉及到了java技术体系中的类加载. Java的类加载机制是j ...
- sqlite迁移mysql(导入导出数据)
第一步,将数据导出 进入sqlite3->.open [打开文件路径]->.cd [要保存的路径]->.output [导出文件名字.sql]->.dump 等待导出成功后,就 ...
- intellij idea下载安装以及创建项目(输出Hello World)
主题一:下载 第一:可以百度下载 第二:直接进行官网链接下载地址:http://www.jetbrains.com/idea/ 第一步: 第二步: 下载完成后进行安装 主题二:安装 点击Next速度可 ...
- 如何在Unity中显示FPS
using UnityEngine; using System.Collections; public class example : MonoBehaviour { public float upd ...
- LeetCode12.整数转罗马数字 JavaScript
罗马数字包含以下七种字符: I, V, X, L,C,D 和 M. 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做 II ,即为两个并 ...
- TIDB4 —— 三篇文章了解 TiDB 技术内幕 - 谈调度
原文地址:https://pingcap.com/blog-cn/tidb-internal-3/ 为什么要进行调度 先回忆一下第一篇文章提到的一些信息,TiKV 集群是 TiDB 数据库的分布式 K ...
- django-多表操作2
#######多表操作二######## 昨天写了基于双下划线查找,都是两个表之间查找,那再多跨几个表呢?还是一样,一步一步分析 # 跨多表查询: 查询红楼梦这本书的作者的电话: (Author,Bo ...
- ABAP术语-Document Number
Document Number 原文:http://www.cnblogs.com/qiangsheng/archive/2008/01/28/1055636.html Key which ident ...