1安装pyinstaller

pip install pyinstaller

2

编译

pyinstaller -F -w game.py  (-F表示打包单个文件,-w是为了打开exe时候不弹出黑框)

3、设置exe的图标

pyinstaller -F -w -i bitbug_favicon.ico game.py  (-i用来设置编译成exe文件的图标,后面跟.ico格式的图片文件)

4编译的时候在要编译的文件夹下打开控制台就可

说明
以下介绍假设用户脚本为main.py,生成结果为main.exe。
有些参数实在很少用到,只列出简单介绍,具体请参阅原文。
原文(英文): https://pyinstaller.readthedocs.io/en/v3.3.1/usage.html
1
2
3
通用参数
参数名 描述 说明
-h 显示帮助 无
-v 显示版本号 无
–distpath 生成文件放在哪里 默认:当前目录的dist文件夹内
–workpath 生成过程中的中间文件放在哪里 默认:当前目录的build文件夹内
-y 如果dist文件夹内已经存在生成文件,则不询问用户,直接覆盖 默认:询问是否覆盖
–upx-dir UPX_DIR 指定upx工具的目录 默认:execution path
-a 不包含unicode支持 默认:尽可能支持unicode
–clean 在本次编译开始时,清空上一次编译生成的各种文件 默认:不清除
–log-level LEVEL 控制编译时pyi打印的信息 一共有6个等级,由低到高分别为TRACE DEBUG INFO(默认) WARN ERROR CRITICAL。也就是默认清空下,不打印TRACE和DEBUG信息
与生成结果有关的参数
参数名 描述 说明
-D 生成one-folder的程序(默认) 生成结果是一个目录,各种第三方依赖、资源和exe同时存储在该目录
-F 生成one-file的程序 生成结果是一个exe文件,所有的第三方依赖、资源和代码均被打包进该exe内
–specpath 指定.spec文件的存储路径 默认:当前目录
-n 生成的.exe文件和.spec的文件名 默认:用户脚本的名称,即main.py和main.spec
指定打包哪些资源、代码
参数名 描述 说明
–add-data 打包额外资源 用法:pyinstaller main.py --add-data=src;dest。windows以;分割,linux以:分割
–add-binary 打包额外的代码 用法:同–add-data。与–add-data不同的是,用binary添加的文件,pyi会分析它引用的文件并把它们一同添加进来
-p 指定额外的import路径,类似于使用PYTHONPATH 参见PYTHONPATH
–hidden-import 打包额外py库 pyi在分析过程中,有些import没有正确分析出来,运行时会报import error,这时可以使用该参数
–additional-hooks-dir 指定用户的hook目录 hook用法参见其他,系统hook在PyInstaller\hooks目录下
–runtime-hook 指定用户runtime-hook 如果设置了此参数,则runtime-hook会在运行main.py之前被运行
–exclude-module 需要排除的module pyi会分析出很多相互关联的库,但是某些库对用户来说是没用的,可以用这个参数排除这些库,有助于减少生成文件的大小
–key pyi会存储字节码,指定加密字节码的key 16位的字符串
生成参数
参数名 描述 说明
-d 执行生成的main.exe时,会输出pyi的一些log,有助于查错 默认:不输出pyi的log
-s 优化符号表 原文明确表示不建议在windows上使用
–noupx 强制不使用upx 默认:尽可能使用。
其他
参数名 描述 说明
–runtime-tmpdir 指定运行时的临时目录 默认:使用系统临时目录
Windows和Mac特有的参数
参数名 描述 说明
-c 显示命令行窗口 与-w相反,默认含有此参数
-w 不显示命令行窗口 编写GUI程序时使用此参数有用。
-i 为main.exe指定图标 pyinstaller -i beauty.ico main.py
Windows特有的参数
参数名 描述 说明
–version-file 添加版本信息文件 pyinstaller --version-file ver.txt
-m, --manifest 添加manifest文件 pyinstaller -m main.manifest
-r RESOURCE 请参考原文
–uac-admin 请参考原文
–uac-uiaccess 请参考原文

pyhon之编译成exe的更多相关文章

  1. 把perl脚本编译成exe

    来源:http://www.veryhuo.com/a/view/38338.html 今天想把 perl 脚本编译成 exe 以便脱离 perl 解释器独立运行.都可以生成PERL的PE文件,在PE ...

  2. 用python写个简单的小程序,编译成exe跑在win10上

    每天的工作其实很无聊,早知道应该去IT公司闯荡的.最近的工作内容是每逢一个整点,从早7点到晚11点,去查一次客流数据,整理到表格中,上交给素未蒙面的上线,由他呈交领导查阅. 人的精力毕竟是有限的,所以 ...

  3. 把java编译成exe和安装包

    由于某些项目甲方迟迟不结算尾款,这就很烦,只能想一些办法 我们知道java,python之类的代码是没有隐私可言的,那么怎么办,总要发给甲方验收,这就要做一些操作来确保自己的利益. 通过在源代码里加上 ...

  4. Swing项目编译成exe,并且打包成安装文件(二)

    前面我们讲到了将Swing项目编译成双击可执行的文件exe,这篇我就教大家怎么把exe打包成需要在电脑安装的那种,首先需要一个工具,Inno Setup 编译器, 下载地址,我这个是汉化版的,双击打开 ...

  5. electron 编译成exe

    前提:现在有一个electron项目,等待打包成exe. 一,运行”electron .“,看运行是否正常.不正常则继续调试,正常可进入到第二步. 二,运行“electron-packager . m ...

  6. Windows下使用Graalvm将Javafx应用编译成exe

    1 背景 Graalvm是Oracle推出的一款新型虚拟机,其中一个吸引人的功能是:它可以将Java代码编译成各个平台的本地代码,这些平台包括:linux.macOS.windows.iOS.andr ...

  7. Swing项目编译成exe,并且打包成安装文件(一)

    我们一般用java做Swing项目的时候一般都是只能在Myeclipse里面运行,那么怎么把我们的项目打包成exe可以直接双击运行呢? 初始工作:为了不让用户安装java环境,所以我们先新建一个文件夹 ...

  8. python程序编译成exe文件

    最近越来越喜欢使用python写工具.使用的时候,发现程序内部成员python安装目录常常不同,如果用bat双击执行,常常需要修改从svn上down下来的bat文件中python.exe的路径.而给策 ...

  9. go编译成exe后,打开出现闪退问题

    今天博主编译了一个go小脚本,编译完成后用自己电脑试了一下没有问题 然而,当换了一台电脑后,一样是win7系统64位,出现了闪退 于是乎博主疯狂百度 看到网上说   入口文件 的顶部改成  packa ...

  10. Python在windows下编译成exe文件

    1. pip install pyinstaller 2. 在Terminal下输入:“pyinstaller -F -w  *.py” 就可以生成exe.生成的文件放在同目录dist下. -F(注意 ...

随机推荐

  1. LOJ数列分块入门九题(中)

    #6281. 数列分块入门 5 - 题目 - LibreOJ (loj.ac) 区间开方,区间求和题. 显然,针对区间维护开方操作很难做到,于是考虑其值的性质,显然,int范围内的值最多开方6次就会变 ...

  2. 学习JavaScript第五周

    MySQL基本内容: 访问:2种 ​ 1.图形化界面 - 傻瓜式 ​ 要求:同时打开apache和mysql ​ 访问:127.0.0.1:端口号/phpmyadmin ​ localhost:端口号 ...

  3. CSS面试题及答案

    介绍一下标准的CSS的盒子模型?与低版本IE的盒子模型有什么不同的? 标准盒子模型:宽度=内容的宽度(content)+ border + padding + margin 低版本IE盒子模型:宽度= ...

  4. java mysql删除表中多余的重复记录(多个字段),只留有id最小的记录

    mysql 删除表中多余的重复记录(多个字段),只留有id最小的记录 DELETE FROM 表1 f WHERE (f.字段1,f.字段2) IN ( SELECT 字段1,字段2 FROM 表1 ...

  5. CentOS7 安裝DHCP服務並啟用DHCP failover

    1. 安裝dhcp服務 yum install -y dhcp 2. host1 vi /etc/dhcp/dhcpd.failover failover peer "dhcpfailove ...

  6. spacy

    官方文档: https://spacy.io/api Spacy功能简介 可以用于进行分词,命名实体识别,词性识别等等,但是首先需要下载预训练模型 pip install --user spacy p ...

  7. 生成uui

    1.安装uuid包 go get github.com/google/uuid 2.目录结构 3.uuid.go package uuid import ( "github.com/goog ...

  8. centos7 启动Tomcat7时报错:The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found

    INFO: The APR based Apache Tomcat Native library which allows optimal performance in production envi ...

  9. 微信网页授权——获取code、access_token、openid,及跨域问题解决

    首先在微信开发文档中有提到微信网页授权的操作步骤: 第一步:用户同意授权,获取code 在确保微信公众账号拥有授权作用域(scope参数)的权限的前提下(服务号获得高级接口后,默认拥有scope参数中 ...

  10. 在win10上装vmware虚拟机+ubuntu一打开就蓝屏重启怎么办?

    一般就是虚拟机和系统一些性能不兼容导致的 因为我原来装的版本是15.0的vmware,现在重新装了16的vmware