当前位置: 首页 > news >正文

科普: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.lryc.cn/news/92430.html

相关文章:

  • 企业级应用高性能可扩展架构设计
  • 【安全架构】
  • RabbitMq-高级
  • iOS App的打包和上架流程
  • Net6中遇到的一个很奇葩的问题
  • 2940. 花坛的最小改变次数
  • 安装源代码 QT 4.8.7
  • PINN学习与实验之拟合sin(x)
  • Java中进制转换的两种方法你知道吗?
  • Qemu搭建ARM Vexpress开发环境
  • JMM如何实现volatile写/读的内存语义
  • Smali的使用技巧:快速定位Android应用程序中的关键代码
  • 04_两种常见的网页反爬措施及应对方法
  • 安装docker环境,并制作docker镜像
  • MySQL数据库 – node使用
  • JAVA使用HTTP代码示例模板
  • elementui tree 支持虚拟滚动和treeLine (下)
  • 富人父母都教给孩子什么样的财富思维?
  • 国内比较火的报表工具测评——Smartbi电子表格软件和Finereport
  • 变电所运维云平台在电力系统中的应用
  • 【51单片机】AT24C20数据帧(I2C总线)
  • Python内置函数isinstance()函数介绍
  • QxRibbon 知:搭建 CMake 构建环境
  • Spring框架-面试题核心概念
  • Tomcat部署及优化
  • C++/C按照时间命名保存bin文件
  • 面向多告警源,如何构建统一告警管理体系?
  • python 面向对象 -- 简单理解版
  • SpringMVC 程序开发
  • 使用单片机遇到的几个问题及解决方案1