打包示例:

pyinstaller -F -w test.py

PyInstaller可以把Python应用程序及其所有依赖项捆绑到一个包中。用户可以在不安装Python解释器或任何模块的情况下运行打包的应用程序。PyInstaller支持Python 2.7和Python 3.3+,并支持诸如numpy,PyQt,Django,wxPython等主要Python软件包。
PyInstaller针对Windows,Mac OS X和Linux进行了测试。但是,它不是一个交叉编译器:要制作一个Windows应用程序,你需要在Windows中运行PyInstaller;在Linux中运行Linux应用程序等。PyInstaller已成功用于AIX,Solaris和FreeBSD,但未经过测试。

官方文档:https://pyinstaller.readthedocs.io/en/stable/

===============================================

0x01 安装

pip install pyinstaller

或者安装github上的develop版

pip install https://github.com/pyinstaller/pyinstaller/tarball/develop

0x02 使用方法

打包一个python文件(.py或者.pyw等后缀都没问题)

pyinstaller -F -w pcat.pyw

使用-F会在当前目录下的dist文件夹生成一个独立的exe文件,

而使用-D(默认选项)则会在当前目录下的dist文件夹生成一个文件夹存放exe以及所有依赖文件。

当py文件有窗体时使用-w,在windows下不会显示控制台,-w在*NIX系统里会被忽略。

0x03 先生成spec文件

如果不使用--specpath指定路径,会在当前目录下生成一个spec文件,pyinstaller是根据spec文件来创建exe文件。

这个spec文件也是可以先生成的:

pyi-makespec [options] pcat.spec

*其中的[options]代表各种参数

这里生成spec文件后,你可以对其进行修改后,再来安装

pyinstaller [options] pcat.spec

0x04 一些常用参数

-d #debug模式,可以得到运行时的跟踪
-p DIR #可以增加pyinstaller搜索模块的路径,多个路径以:分隔。默认site-packages目录下都是可以被识别的
--add-data <SRC;DEST or SRC:DEST> #增加非二进制文件到目录下,windows以;分隔而且得用双引号包含,而*NIX以:分隔
--add-binary <SRC;DEST or SRC:DEST> #增加二进制文件到目录下
-i <FILE.ico or FILE.exe,ID or FILE.icns> #给打包的文件添加图标
--version-file FILE #windows里可把版本信息注射到exe里

其中--add-data、-i 等以后有空补充详细点

而--version-file需要的版本信息文件是需要格式的,

切换到python安装目录下的\Lib\site-packages\PyInstaller\utils\cliutils下,有一个grab_version.py文件

python grab_version.py C:\Windows\System32\cmd.exe

会生成一个file_version_info.txt,里面版本信息的格式可以参考。

pyinstaller 安装使用方法相关推荐

  1. 怎么查看python是否安装好了pyinstaller_Python PyInstaller安装和使用教程(详解版)...

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

  2. Python PyInstaller 安装 和 使用教程( 打包生成 exe )

    From:http://c.biancheng.net/view/2690.html Python zipapp打包教程:http://c.biancheng.net/view/2687.html 在 ...

  3. 使用vs2019和pyinstaller将py文件打包成一个exe文件(含图标),pyinstaller安装失败解决方案

    1.什么是pyinstaller 参见这篇文章: https://gwj1314.blog.csdn.net/article/details/79775764 PyInstaller是一款可以把py解 ...

  4. Python PyInstaller安装和使用教程(详解版)

    1.引言 考虑到代码.数据的隐私安全,所以我们就需要使用PyInstaller将自己的运行主程序打包起来,从而创建得到独立应用(自包含该应用的依赖包).最重要的是可以使用 PyInstaller 将 ...

  5. java jdk 1.8 配置_Java开发环境jdk 1.8安装配置方法(Win7 64位系统/windows server 2008)...

    什么是jdk jdk是什么呢?jdk的是java development kit的缩写,意思是java程序开发的工具包.也可以说jdk是java的sdk. 目前的JDK大致分三个大版本: Java S ...

  6. mysql数据库解压安装教程_MySQL数据库之windows 10下解压版MySql安装配置方法教程...

    本文主要向大家介绍了MySQL数据库之windows 10下解压版MySql安装配置方法教程 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. windows 10 下安装解压版的 ...

  7. python3.6.2怎样安装,python 3.6.2 安装配置方法图文教程

    python 3.6.2 安装配置方法图文教程 Windows下Python(pip)环境搭建(3.6)图解,供大家参考,具体内容如下 1.下载最新的Python安装:3.6.2 2.安装时不要选择默 ...

  8. jdk是什么?jdk1.8安装配置方法

    2019独角兽企业重金招聘Python工程师标准>>> jdk是什么呢?jdk的是java development kit的缩写,意思是java程序开发的工具包.也可以说jdk是ja ...

  9. symfony 2 app.php,Symfony2安装的方法(2种方法)

    本文详细讲述了Symfony2安装的方法.分享给大家供大家参考,具体如下: 一.Composer安装Symfony Composer安装Symfony方法在前面的文章<Symfony之十分钟入门 ...

最新文章

  1. auto.exe,kavo.exe 批處理文件
  2. 研究人员首次实现人脑实时连接互联网,攻壳社会的前奏?
  3. 苹果6屏幕多大_苹果12使用高通X55,10亿买下的英特尔基带何时能派上用场
  4. mysql一些常用操作_表的一些常用操作_MySQL
  5. 政务大数据的东莞实践 智慧政府建设步伐加快
  6. php100 swfupload,swfupload上传图片读取最大只有100*75
  7. 从零学ELK系列(一):为什么要跟我学从零学ELK系列
  8. wxpython frame鼠标拖动_Python wxpython模块响应鼠标拖动事件操作示例
  9. c语言运行出现-1 j,c语言中,y[ j ] = -1什么意思?
  10. 建站基础知识之CSS 究竟什么来头?
  11. 微博的html,微博输入html
  12. flash cs4 打不开的解决方法(启动界面一闪而过)
  13. HBase下载地址(全)
  14. 正态分布是离散分布还是连续分布_简单统计学|正态分布之连续数据的概率分布...
  15. C语言——顺序结构训练题
  16. 黑苹果EFI引导启动文件,技嘉Z77P-D3+E3-1230 V2+蓝宝石RX560D+Macos10.15.x(5)
  17. [leetcode]: 506. Relative Ranks
  18. 动态调整div大小 html,如何动态的根据用户屏幕的分辨率改变div的大小?
  19. 1. 认识kubernetes
  20. 谷歌高效开发的秘密:来自谷歌前员工的软件开发工具指南

热门文章

  1. stm32实际运用中遇到的问题
  2. 去耦电容和旁路电容详解
  3. posix_kill 信号
  4. AMDKFD 合并入 Linux 3.19 内核
  5. 华为MSTP配置教程(二)
  6. IDEA for Java Web
  7. win10内建子系统Linux
  8. shell-单引号 ,双引号,反引号,括号详解
  9. Goods:图书模块按分类查询各层实现
  10. Unicode/not set/multi-byte/部分常用函数