当我们完成一个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文件的更多相关文章

  1. Pyinstaller(python打包为exe文件)

      需求分析: python脚本如果在没有安装python的机器上不能运行,所以将脚本打包成exe文件,降低脚本对环境的依赖性,同时运行更加迅速. 当然打包的脚本似乎不是在所有的win平台下都能使用, ...

  2. 使用pyinstaller将python打包成exe文件

    步骤: 1)win+R 输入cmd打开dos窗口   2)先安装pyinstaller: pip install pyinstaller 3)然后使用cd命令进入项目文件的路径下:   4)再使用命令 ...

  3. Pyinstaller (python打包为exe文件)

    需求分析: python脚本如果在没有安装python的机器上不能运行,所以将脚本打包成exe文件,降低脚本对环境的依赖性,同时运行更加迅速. 当然打包的脚本似乎不是在所有的win平台下都能使用,wi ...

  4. 反编译python打包的exe文件

    目录 1.前言 2.使用环境 3.还原过程 4.号外 5.exe文件和所用到的反编译工具 6.参考 7.去签名(补漏) 前言 拿到了利用驱动人生进行传播的病毒样本,发现是python打包成的exe文件 ...

  5. Python打包成exe文件很难?一分钟即可学会,并添加图标!

    环境1.python 3.72.pyinstaller下载方式:2.1 python安装(略)2.2 安装pyinstaller打开DOS窗口输入以下命令:pip install pyinstalle ...

  6. python打包生成exe文件

    今天任务让做一个可以在Win上直接执行的脚本,百度了下原来可以生产.exe文件.神奇了 安装 pyInstaller pip install pyInstaller  进入要打包文件的目录 执行 py ...

  7. python打包成为exe文件

    pyinstaller 库的使用 PyInstaller是一个十分有用的第三方库,它能够在Windows.Linux.Mac OS X 等操作系统下将 Python 源文件打包,通过对源文件打包,Py ...

  8. python打包为exe文件

    1.安装 pyinstaller 包 pip3 install pyinstaller 2.进入python文件目录 进入Python程序文件夹py文件处,按住shift并且右键,在弹出的选项中点击& ...

  9. 将python打包为.exe文件

    第一步:在https://pypi.python.org/pypi/PyInstaller/2.1 下载pyinstaller. 第二步:解压缩,在该目录下命令行中执行python setup.py ...

随机推荐

  1. sougou输入法无法正常输入汉字

    删除~/.config目录下的SougouPY SogouPY.users sogou-qimpanel文件夹,然后重启搜狗输入法即可

  2. R 代码积累

    R 代码积累不定期更新 1.阶乘.递归.reduce.sprintf #NO.1 # 阶乘函数 fact <- function(n){ if(n==0) return(1) #基例在这 els ...

  3. WebSocket消息推送(实现进行聊天)和WebSocket简介

    WebSocket简介 WebSocket是HTML5开始提供的一种浏览器与服务器间进行全双工通讯的网络技术.依靠这种技术可以实现客户端和服务器端的长连接,双向实时通信.特点:事件驱动异步使用ws或者 ...

  4. 统计决策——贝叶斯决策理论(Bayesian Decision Theory)

    (本文为原创学习笔记,主要参考<模式识别(第三版)>(张学工著,清华大学出版社出版)) 1.概念 将分类看做决策,进行贝叶斯决策时考虑各类的先验概率和类条件概率,也即后验概率.考虑先验概率 ...

  5. 【洛谷P2921】[USACO08DEC]在农场万圣节

    在农场万圣节Trick or Treat on the Farm 题目链接 题解:首先,将原图缩点,变为DAG, 然后在DAG上记忆化搜索即可 #include<iostream> #in ...

  6. Android学习笔记_33_Widget时钟(MetaData)

    Widgets在文档docs\guide\topics\appwidgets\index.html下 Android中AppWidget的分析与应用:AppWidgetProvider 一.在 And ...

  7. Android学习笔记_13_网络通信之多个上传文件

    一.获取HTTP协议: 建立一个Web项目,建立一个如下所示的jsp界面,用IE捕获表单提交信息. <%@ page language="java" contentType= ...

  8. JavaEE权限管理系统的搭建(六)--------使用拦截器实现菜单URL的跳转权限验证和页面的三级菜单权限按钮显示

    本小结讲解,点击菜单进行页面跳转,看下图,点击管理员列表后会被认证拦截器首先拦截,验证用户是否登录,如果登录就放行,紧接着会被权限验证拦截器再次拦截,拦截的时候,会根据URL地址上找到对应的方法,然后 ...

  9. data-ng-hide 指令

    <!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...

  10. JVM垃圾回收补充知识点

    1. 分代 虚拟机中的共划分为三个代: 年轻代(Young Gen):eden和survivor-8:1:1 年老代(Old Gen):存储大对象,由survivor晋升 永久代(perm Gen): ...