科普:python怎么使用Pyinstaller模块打包成可执行文件

news/2024/5/19 23:24:40 标签: python, pyinstaller

目录

  • 1. 使用conda创建虚拟环境
  • 2. 列出所有虚拟环境查看是否创建成功
  • 3. 激活虚拟环境
  • 4. 安装Pyinstaller模块
  • 5. Pyinstaller模块常用参数
  • 6. 例子:Windows打包成单个文件并可使用命令行窗口并自定义文件logo

1. 使用conda创建虚拟环境

创建个虚拟环境来打包,以免把整个系统的乱七八糟的pip的都打包进去,建议每个项目创建对应的虚拟环境。

conda create -n 虚拟环境名称(自定义) python=版本

比如:conda create -n myenv python=3.10

2. 列出所有虚拟环境查看是否创建成功

conda env list

3. 激活虚拟环境

# 先进入conda环境
activate 
# 再激活虚拟环境
conda activate myenv

4. 安装Pyinstaller模块

pip install Pyinstaller

PS:还需要安装项目依赖的其他模块,建议用requirements.txt文件安装

5. Pyinstaller模块常用参数

  • -h,–help 查看该模块的帮助信息
  • -F,-onefile 产生单个的可执行文件
  • -D,–onedir 产生一个目录(包含多个文件)作为可执行程序
  • -a,–ascii 不包含 Unicode 字符集支持
  • -d,–debug 产生 debug 版本的可执行文件
  • -w,–windowed,–noconsolc 指定程序运行时不显示命令行窗口(仅对 Windows 有效)
  • -c,–nowindowed,–console 指定使用命令行窗口运行程序(仅对 Windows 有效)
  • -o DIR,–out=DIR 指定 spec 文件的生成目录。如果没有指定,则默认使用当前目录来生成 spec 文件
  • -p DIR,–path=DIR 设置 Python 导入模块的路径(和设置 PYTHONPATH 环境变量的作用相似)。也可使用路径分隔符(Windows 使用分号,Linux 使用冒号)来分隔多个路径
  • -n NAME,–name=NAME 指定项目(产生的 spec)名字。如果省略该选项,那么第一个脚本的主文件名将作为 spec 的名字
  • -i 指定可执行文件图标
  • –distpath 指定生成的dist文件夹存放位置 默认当前文件夹
  • –workpath 指定临时文件存放位置(即build文件夹) 默认当前文件夹

6. 例子:Windows打包成单个文件并可使用命令行窗口并自定义文件logo

  • 虚拟环境中,切换到项目所在文件夹,执行命令打包
    Pyinstaller -F -c -i 你的logo文件.ico 你的文件.py
    
  • 打包完成后,在当前目录下,进入dist文件夹,就能找到打包好的exe文件
  • 在dist文件夹的地址栏,输入cmd,直接回车,打开命令行窗口,直接运行exe文件,或者添加对应的参数,python使用命令行参数可参考科普:python怎么添加命令行参数
  • 不满意可以反复修改源代码,反复打包,直到满意的效果为止。

enjoy!


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

相关文章

【Android】WMS(三)Window的更新UI刷新

Window的更新 在 Android 中,窗口的更新是一个非常常见的事情。比如,在使用 App 过程中,需要弹出键盘窗口或者切换横竖屏时,就会发生窗口的更新。 首先,当需要更新窗口时,会调用 WindowManager 的 updateV…

毕业来北京要做的1000件事,第二十八,找到并铭记解决复杂问题的路径

在北京工作,不论哪个行业都有很复杂的问题,解决复杂问题,需要首先学习别人的路径,先不要管适不适合自己。先学到别人的路径,然后按图索骥,能大大提高自己的能力。 举个例子,访问量太大&#xf…

LeetCode 每日一题 2023/6/5-2023/6/11

记录了初步解题思路 以及本地实现代码;并不一定为最优 也希望大家能一起探讨 一起进步 目录 6/5 2460. 对数组执行操作6/6 2352. 相等行列对6/7 2611. 老鼠和奶酪6/8 1240. 铺瓷砖6/9 2699. 修改图中的边权6/10 6/5 2460. 对数组执行操作 依次执行 def applyOperati…

“RAID0 vs RAID1 vs RAID5 vs RAID6 vs RAID10:哪种RAID级别最适合你的需求?“

概要: RAID(Redundant Array of Independent Disks)是一种数据存储技术,可以将多个硬盘组合起来以提高性能、可靠性和容错能力。下面是几种常见的RAID级别,以及它们的用途和特点。 目录 RAID 0RAID 1RAID 5RAID 6RAID…

【C语言】qsort详细将解

系列文章目录 qsort目录 系列文章目录一、前言二、qosort是什么?二、qsort的使用1、原型2、参数3、头文件(1)qsort参数中的函数指针讲解 三、使用示例和运行截图1、整形例子(升序)3、字符例子(降序&#xf…

【每日一题Day231】LC2699修改图中的边权 |最短路径

修改图中的边权【LC2699】 给你一个 n 个节点的 无向带权连通 图,节点编号为 0 到 n - 1 ,再给你一个整数数组 edges ,其中 edges[i] [ai, bi, wi] 表示节点 ai 和 bi 之间有一条边权为 wi 的边。 部分边的边权为 -1(wi -1&…

Ubuntu20.04平台下使用二进制包部署MongoDB-6.0.4单实例

文章目录 1.1 准备服务器的基本信息1.2 操作系统上创建其用户1.3 部署MongoDB服务端1.4 部署MongoDB客户端1.5 部署MongoDB 27017实例1.5.1 创建相关目录1.5.2 准备配置文件1.5.3 准备启停脚本1.5.4 进行启停测试1.5.5 加入开机自启动 1.6 创建超级管理员用户1.6.1 创建本地的超…

万宾建筑结构健康监测系统方案

建筑结构健康监测是现代建筑工程领域的重要措施之一。通过实时监测和评估建筑物的结构状态,可以及早发现潜在的问题,保障建筑物的安全性和稳定性。 随着城市化进程的加速和建筑规模的扩大,建筑结构的安全性和稳定性越来越受到关注。然而&…