使用pyinstaller对python程序打包和发布

news/2024/5/19 21:31:33 标签: python, pyinstaller, 程式打包, 程式发布

一、安装pyinsatller

打开命令行窗口,输入如下指令

pip3 install pyinstaller  或 pip  install pyinstaller 

然后静待pyinstaller自动安装好.

打包命令:pyinstaller -F -w main.py -i main.ico --workpath build路径 --distpath exe打包路径 -n exe名字

二、pyinstaller参数

主要参数
-F, --onefile 打包一个单个文件,如果你的代码都写在了一个py文件的话,可以使用这个命令,如果是多个py文件,就别用;
-D, --onedir 打包多个文件,在dist中生成很多依赖文件,适合以框架的形式编写工具代码,代码易于维护;
-a, --ascii 不包含unicode编码的支持(包括默认值:如果可用)
-c, --console 使用控制台子系统执行(默认),只对windows有效
-w, --windowed, --noconsole 使用windows子系统执行,当程序启动的时候不会打开命令行(只对windows有效)
-i , --icon=<File.ico>将file.ico添加为打包的exe文件的图表,只对windows系统有效
--icon=<File.exe,n>将file.exe的第n个图标添加为可执行文件的资源,只对windows系统有效
-n Name,--name=Name 可选的项目,生成的.spec文件的名字和exe名字
-p 设置导入路径(和使用PYTHONPATH效果相似),可以使用路径分隔符(windows使用分好,linux使用冒号),制定多个目录的时候可以指定多个-p参数来设置,让pyinstaller自己去找程序的资源
--key KEY 用于加密Python字节码的密钥
--add-data 可以将一些非二进制文件添加到exe文件中进行打包,参数为格式为static;static
--distpath 指定打包后的程序存放目录,exe文件默认存放在当前目录下的dist目录中
--workpath 为输出的所有临时文件指定存放目录,默认为当前目录下的build目录
 

三、出现failed to execute script的排查方法

方法一:

#使用pyinstaller -F -c 进行打包,显示控制台
pyinstaller -F -c pachonggui.py

方法二:
命令执行完毕之后 build\pachonggui\warnpachonggui.txt,上面会记载着错误。

方法三:

# 使用完下面这条指令之后,打开exe,提示failed to execute script
pyinstaller -Fw pachonggui.py
# 然后执行下面这条执行,会在list下生成一个目录,进入该目录,用**命令行**执行该exe,就会看到错误了
pyinstaller -D pachonggui.py


http://www.niftyadmin.cn/n/303005.html

相关文章

哈希算法原理与应用:确保数据完整性和安全性的关键技术

哈希算法是一种将任意长度的消息映射为固定长度摘要或哈希值的算法。哈希算法主要被用于验证数据的完整性和安全性。哈希算法的应用广泛&#xff0c;例如在密码学中用于验证数据完整性和数字签名&#xff0c;也用于检索数据和进行散列分布式存储。下面将详细介绍哈希算法的原理…

Shell脚本实现数组冒泡排序等简单算法排序(这个世界很暗,然后你来了,带着星星和月亮)

文章目录 一、冒泡排序1.简介2.基本思想3.算法思路4.shell脚本实现 二、选择排序2.基本思想3.shell脚本实现 三、插入排序1.算法思路2.shell脚本实现 四、反转排序1.作用2.shell脚本实现 一、冒泡排序 1.简介 类似气泡上涌的动作&#xff0c;会将数据在数组中从小到大或者从大…

Ajax XML

文章目录 AJAX XML 实例AJAX XML 实例实例解析 loadXMLDoc() 函数AJAX 服务器页面 AJAX XML 实例 AJAX 可用来与 XML 文件进行交互式通信。 AJAX XML 实例 下面的例子将演示网页如何使用 AJAX 来读取来自 XML 文件的信息&#xff1a; 代码部分 <!DOCTYPE html> <h…

《双向队列》

介绍 双向队列&#xff08;deque&#xff0c;全名double-ended queue&#xff09;是一种具有队列和栈性质的数据结构。 对于队列&#xff0c;我们只能在头部删除或在尾部添加元素&#xff0c; 而「双向队列 Deque」更加灵活&#xff0c;在其两端都能执行元素添加或删除操作。…

tmux一个终端复用器(terminal multiplexer)

tmux 安装 使用包管理工具 # Ubuntu 或 Debian $ sudo apt-get install tmux# CentOS 或 Fedora $ sudo yum install tmux# Mac $ brew install tmuxsession 会话管理 1. 新建会话 第一个启动的 Tmux 窗口&#xff0c;编号是0&#xff0c;第二个窗口的编号是1&#xff0c;以…

从单向链表中删除指定值的节点

描述 输入一个单向链表和一个节点的值&#xff0c;从单向链表中删除等于该值的节点&#xff0c;删除后如果链表中无节点则返回空指针。 链表的值不能重复。 构造过程&#xff0c;例如输入一行数据为: 6 2 1 2 3 2 5 1 4 5 7 2 2 则第一个参数6表示输入总共6个节点&#xff0c;第…

企业邮箱选购,需关注哪些重要因素?

企业邮箱选择考虑哪些问题&#xff1f;应该从企业邮箱安全、企业邮箱的稳定性、企业邮箱专业、方便迁移到新的企业邮箱、企业邮箱邮件的到达率、功能强大的企业邮箱、企业邮箱手机客户端设置等方面考虑。 1.企业邮箱安全 企业邮箱应考虑病毒防治能力。Zoho Mail企业邮箱从物理安…

IPWorks Bluetooth ! IPWorks BLE 2022 C++ Edition Crack

蓝牙库-IPWorks Bluetooth ! IPWorks BLE 2022 C Edition 一个蓝牙低功耗组件库&#xff0c;提供对 BLE 操作的直接访问。IPWorks BLE 组件提供简单的服务发现和对支持 BLE 的设备的访问。 最新的 IPWorks BLE 现已推出&#xff01;最新版本的 IPWorks BLE 具有现代化和简化的…