Python生成windows可执行的exe文件

参考:
https://segmentfault.com/a/1190000016087451
https://www.cnblogs.com/aoede-jacqueline/archive/2019/07/25/11244714.html

为什么要生成可执行文件

  • 不需要安装对应的编程环境
  • 可以将你的应用闭源
  • 用户可以方便、快捷的直接使用
    缺点:程序很大。

安装pyinstaller

在设置好conda软件源为清华开源站之后,Windows开始菜单以管理员模式运行Anaconda Prompt:

conda install pyinstaller

检查pyinstaller安装成功与否:

pyinstaller -v

pyinstaller命令参数说明

pyinstaller参数作用

  • -F 表示生成单个可执行文件
  • -D –onedir 创建一个目录,包含exe文件,但会依赖很多文件(默认选项)
  • -w 表示去掉控制台窗口,这在GUI界面时非常有用。不过如果是命令行程序的话那就把这个选项删除吧
  • -c –console, –nowindowed 使用控制台,无界面(默认)
  • -p 表示你自己自定义需要加载的类路径,一般情况下用不到
  • -i 表示可执行文件的ICO图标文件
  • 其他参数,可以通过pyinstaller --help查看

开始打包

在Anaconda Prompt命令行里进入要打包的脚本所在目录,执行:

pyinstaller -F -i favicon.ico nhdz.py

打包完成后,进入到当前目录下,会发现多了__pycache__builddistnhdz.spec这四个文件夹或者文件,其中打包好的exe应用在dist目录下面,可以把它拷贝到其他地方直接使用(无需Python环境)。

封装exe为安装包

  1. 这一步其实很简单,选中exe程序,右键添加到压缩文件....
  2. 勾选创建自解压格式压缩文件锁定压缩文件,压缩文件名为installer.exe,压缩文件格式保持默认为RAR格式.
  3. 选择高级选项卡,点击自解压文件选项.
  4. 在自解压文件选项中设置选项,比如快捷方式,图标,是否设置密码等等.

注意

  • 打包完成后就可以分享给其他人了.
  • 建议打包完成后,自己安装一次试试看看能不能正常运行.
  • 使用WinRAR打包的程序其实就是绿色程序, 没有注册表等信息.
  • 卸载的时候直接删除文件夹和对应的快捷方式就行.

===

上面的打包出来的EXE很大!使用下面的方法可以减小体积

===

#建立虚拟环境packEnv
conda create --name packEnv python=3.6
#进入虚拟环境(上一步可省略,因为没有虚拟环境的话会自动建立一个)
activate packEnv
#安装模块.主要是pysimplegui,pyqt,numpy等等,你的py里用到的模块
conda install numpy
#打包的模块也要安装
conda install pyinstaller
#开始打包
pyinstaller -F -i hello.ico hello.py

原文地址:https://www.cnblogs.com/charleechan/p/12311187.html

时间: 2024-11-05 21:37:09

Python生成windows可执行的exe文件的相关文章

js调用可执行性(exe)文件(仅IE可用)

jQuery: $(function(){ $('#exsp').click(function(exe){ exe.value=$('.exsp').attr('val'); try   { var   objShell   =   new   ActiveXObject("wscript.shell"); objShell.Run($('.exsp').attr('val')); objShell   =   null; } catch (exe){ alert('找不到文件&quo

Python 3.6 使用 pyinstaller 打包exe文件遇到的问题

自己做了一个加密解密的小软件,想打包成exe文件.在网上搜发现pyinstaller使用起来简单点. 在这里记录自己遇到问题 使用的是Python 3.6版本,直接使用pip安装 pip install pyinstaller 安装过程很顺利,安装的是3.2.1版本 使用看起来也很简单,pyinstaller -F example.py  生成单一的exe文件,具体其他命令暂时不细说了,网上有很多大神的总结 但执行过程中报错: IndexError: tuple index out of ran

使用Intellij Idea生成可执行文件jar,开关exe文件步骤

确保其Java代码是没有问题的,在IDEA常执行的,然后.按以下步骤: 步骤一:打开File -> Project Structure -> Artifacts,例如以下图 步骤二:点击"+",选择"Jar",选择Empty或From modules with dependencies 步骤三:设置一个主函数入口main class 如图: 完毕上面三步之后,点击完毕. 步骤四:回来idea主界面.点击Build -->Build Artfacts

使用Intellij Idea生成可执行文件jar,转为exe文件步骤

保证自己的Java代码是没有问题的,在IDEA里面是可以正常运行的,然后,按下面步骤: 步骤一:打开File -> Project Structure -> Artifacts,如下图 步骤二:点击"+",选择"Jar",选择Empty或From modules with dependencies 步骤三:设置一个主函数入口main class 如图: 完成上面三步之后,点击完成. 步骤四:回来idea主界面,点击Build -->Build Ar

如何修复缺失Windows自带的exe文件(主要用于cmd) 如缺失SETX.exe

问题上下文: 我想在cmd中使用SETX设置系统变量.可是我的电脑好像缺失这个文件了,没有找到它. 解决方法: 在cmd中打入命令: sfc /scannow        (注意sfc后有空格,且必须在管理员权限下运行cmd,操作如图所示 转自http://www.fixerrorkit.com/fix-error/fix-setx.exe-error.html) 扩展: sfc(System File Check):检测Windows下受保护的文件,如果丢失或版本不正确则直接替换为正确的.(

c++里面执行一个exe文件,匿名管道

操作系统的实验要用到管道. 管道(Pipe)实际是用于进程间通信的一段共享内存,创建管道的进程称为管道服务器,连接到一个管道的进程为管道客户机.一个进程在向管道写入数据后,另一进程就可以从管道的另一端将其读取出来.匿名管道(Anonymous Pipes)是在父进程和子进程间单向传输数据的一种未命名的管道,只能在本地计算机中使用,而不可用于网络间的通信. 匿名管道实施细则 匿名管道由CreatePipe()函数创建,该函数在创建匿名管道的同时返回两个句柄:管道读句柄和管道写句柄.CreatePi

使用exe4j把java程序生成可执行的.exe文件

exe4j可以很容易把一个jar打成exe.  下载地址:http://dl.dbank.com/c0owlopqf8 1.下载的安装文件,里面包含一个注册码生成的工具 2.安装exe4j以及破解(注意jre版本必须是1.4到1.6) 3.运行exe4j 运行界面如下图 点击change license,用户名公司名可以任意输入,再输入注册码就OK了 4.点击下一步,选择第二个模式,即把jar包打包成exe.

Linux和windows下执行sql脚本文件

利用 sqlplus 登录数据库之后 键入: @/全路径/文件名      即可执行*.sql 文件            例 假设有一个 test.sql 文件 所在路径是/home/oracle/ 现在要执行它              1 登录数据库            sqlplus system/manager              2 在提示符 SQL> 之后键入             SQL> @/home/oracle/test.sql; 利用 sqlplus 登录数据

Qt打包成单独可执行的exe文件

1.将图标newIco.ico复制到工程目录下. 2.在工程目录下新建空白txt文档,添加以下内容. IDI_ICON1 ICON DISCARDABLE "newIco.ico" 3.将txt文档后缀修改为.rc(如:newIco.rc) 4.在pro文件中添加如下内容. RC_FILE=newIco.rc 5.重新编译程序,图标已经变成了newIco的样子 6.Qt配置环境执行文件运行坏境 7.EnigmaVirtualBox 原文地址:https://www.cnblogs.co