py文件如何打包成exe?如何压缩文件大小?
打包
要将 Python 文件打包成可执行文件,您可以使用 PyInstaller 这个工具。以下是具体步骤:
-
首先,确保您已经安装了 PyInstaller。如果没有安装,可以使用以下命令安装:
pip install pyinstaller
-
进入您的 Python 程序所在的目录,然后运行以下命令:
pyinstaller yourprogram.py
这将在一个名为
dist
的子目录中生成一个可执行文件。如果您希望生成只包含一个单独可执行文件的捆绑包,可以使用--onefile
参数:pyinstaller --onefile yourprogram.py
这样,您就会得到一个独立的可执行文件,用户无需安装 Python 或其他依赖即可运行您的程序。
-
如果您的程序需要接收用户传递的参数,您可以在代码中使用以下方法之一来获取这些参数:
- 使用
input()
函数从控制台读取输入。 - 使用配置文件来存储参数。
- 使用默认参数。
- 使用
请根据您的需求选择适合您的方法。现在您可以尝试使用 PyInstaller 将您的 Python 文件打包成可执行文件了!🚀
压缩
当然,当您使用 PyInstaller 将 Python 文件打包成可执行文件时,确实会生成一个相对较大的文件。不过,您可以采取一些措施来减小文件大小:
-
虚拟环境:在构建之前,创建一个独立的虚拟环境,只安装您脚本所需的包。这样,您可以避免将不必要的包打包到可执行文件中。以下是具体步骤:
-
创建虚拟环境:
python -m venv build_env
-
激活虚拟环境:
-
Windows:
cd build_env build_env\Scripts\Activate
-
Linux 或 macOS:
source build_env/bin/activate
-
-
安装所需的包(包括 PyInstaller):
pip install pyinstaller
-
构建可执行文件:
pyinstaller --onefile yourprogram.py
这将生成一个更小且更快的可执行文件,用户无需安装其他包即可运行您的程序12.
-
-
排除不必要的库:您可以尝试排除一些不影响功能的库,以减小文件大小。但请注意,排除某些库可能会影响程序的功能。
-
压缩:使用工具如 UPX 来压缩可执行文件。这将进一步减小文件大小3.
请根据您的需求选择适合您的方法。如果您需要保留参数传递功能,仍然可以在可执行文件中接收用户传递的参数。🚀
相关文章:
py文件如何打包成exe?如何压缩文件大小?
打包 要将 Python 文件打包成可执行文件,您可以使用 PyInstaller 这个工具。以下是具体步骤: 首先,确保您已经安装了 PyInstaller。如果没有安装,可以使用以下命令安装: pip install pyinstaller进入您的 Python 程序…...
SQL优化相关(持续更新)
常用sql修改 1、LIMIT 语句 在 SQL 查询中,LIMIT 10000, 10 的语句表示从第 10001 行开始,返回 10 行结果。要优化这个查询,可以考虑以下几点: 使用合适的索引:确保涉及到查询条件和排序的列上有适当的索引…...
Linux学习--limits文件配置详解
/etc/security/limits.conf 是一个配置文件,用于限制用户或进程在系统中可以使用的资源。 语法结构: :指定要应用限制的目标对象,可以是用户()、用户组()或进程(、、<…...

Android Studio 代码上传gitLab
1、项目忽略文件 2选择要上传的项目 3、添加 首次提交需要输入url 最后在push...

【避雷选刊】Springer旗下2/3区,2个月录用!发文量激增,还能投吗?
计算机类 • 好刊解读 前段时间小编分析过目前科睿唯安数据库仍有8本期刊处于On Hold状态,其中包括4本SCIE、4本ESCI期刊(👉详情可见:避雷!又有2本期刊被标记“On Hold”!含中科院2区(TOP&…...

Linux常用的压缩命令
笑小枫的专属目录 少整花活,直接干货Linux gzip命令语法功能参数 Linux zip命令语法参数 少整花活,直接干货 本文的来源就是因为上篇文章Linux常用的解压命令,解压整了,顺手整理了一波压缩命令。 Linux gzip命令 减少文件大小有…...

如何为VM虚拟机添加D盘
文章底部有个人公众号:热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享? 踩过的坑没必要让别人在再踩,自己复盘也能加深记忆。利己利人、所谓双赢。 前言 在虚拟机上安装Windows10 系统后&…...
C# 16进制颜色转为RGB颜色
#region [颜色:16进制转成RGB] /// <summary> /// [颜色:16进制转成RGB] /// </summary> /// <param name"strColor">设置16进制颜色 [返回RGB]</param> /// <returns></returns> public static System.D…...
【工具】Java计算图片相似度
【工具】Java图片相似度匹配工具 方案一 通过像素点去匹配 /*** * param file1Url 图片url* param file2Url 图片url* return*/public static double img相似度Url(String file1Url, String file2Url){InputStream inputStream1 HttpUtil.createGet(file1Url).execute().…...
GDB调试
GDB调试程序之运行参数输入 以bash运行如下程序命令为例子: $ ./adapter -c FOTON_ECAN.dbc foton_bcan.dbc 方法1:进入gdb,加载程序,执行run命令的时候,后面加上参数 $ gdb (gdb) file adapter Reading symbols from adapter... (gdb) run -c FOTON_ECAN.dbc foton_b…...

swift和OC混编报错问题
1.‘objc’ instance method in extension of subclass of ‘xxx’ requires iOS 13.0.0 需要把实现从扩展移到主类实现。iOS13一下扩展不支持objc 2.using bridging headers with framework targets is unsupported 报错 这个错误通常指的是在一个框架目标中使用桥接头是不…...

第七章 块为结构建模 P5|系统建模语言SysML实用指南学习
仅供个人学习记录 应用泛化对分类层级建模 继承inherit更通用分类器的公共特性,并包含其他特有的附加特性。通用分类器与特殊分类器之间的关系称为泛化generalization 泛化由两个分类器之间的线条表示,父类端带有空心三角形箭头 块的分类与结构化特性…...

java算法学习索引之动态规划
一 斐波那契数列问题的递归和动态规划 【题目】给定整数N,返回斐波那契数列的第N项。 补充问题 1:给定整数 N,代表台阶数,一次可以跨 2个或者 1个台阶,返回有多少种走法。 【举例】N3,可以三次都跨1个台…...

ChatGPT重磅升级 奢侈品VERTU推出双模型AI手机
2023年11月7日,OpenAI举办了首届开发者大会,CEO Sam Altman(山姆奥尔特曼)展示了号称“史上最强”AI的GPT-4 Turbo。它支持长达约10万汉字的输入,具备前所未有的长文本处理能力,使更复杂的互动成为可能。此外,GPT-4 Turbo还引入了跨模态API支持,可以同时处理图片、视频和声音,从…...

mac配置双网卡 mac同时使用内网和外网
在公司办公通常都会连内网,而连内网最大的限制就是不可以使用外网,那遇到问题也就不能google,而当连接无线的时候,内网的东西就不可以访问,也就不能正常办公,对于我这种小白来说,工作中遇到的问…...

深度探究深度学习常见数据类型INT8 FP32 FP16的区别即优缺点
定点和浮点都是数值的表示(representation),它们区别在于,将整数(integer)部分和小数(fractional)部分分开的点,点在哪里。定点保留特定位数整数和小数,而浮点…...

C++——const成员
这里先用队列举例: #define _CRT_SECURE_NO_WARNINGS 1 #include <iostream> #include <assert.h> using namespace std; class SeqList { public:void pushBack(int data){if (_size _capacity){int* tmp (int*)realloc(a, sizeof(int) * 4);if (tm…...

使用阿里云服务器学习Docker
首先我这里选择的系统服务器是CentOS 7.9 64位 因为centos系统里面的安装指令是:yum,而非apt-get. yum install docker -y试着建立一个容器: docker run -d -p 80:80 httpd启动docker的守护进程: sudo systemctl start docker 查看Docke…...

通信原理板块——线性分组码之汉明码
微信公众号上线,搜索公众号小灰灰的FPGA,关注可获取相关源码,定期更新有关FPGA的项目以及开源项目源码,包括但不限于各类检测芯片驱动、低速接口驱动、高速接口驱动、数据信号处理、图像处理以及AXI总线等 1、汉明码 (1)常见概念 代数码&…...

Hive 常用存储、压缩格式
1. Hive常用的存储格式 TEXTFI textfile为默认存储格式 存储方式:行存储 磁盘开销大 数据解析开销大 压缩的text文件 hive 无法进行合拆分 SEQUENCEFILE sequencefile二进制文件,以<key,value>的形式序列到文件中 存储方式:行存储 可…...
Neo4j 集群管理:原理、技术与最佳实践深度解析
Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...

【JavaWeb】Docker项目部署
引言 之前学习了Linux操作系统的常见命令,在Linux上安装软件,以及如何在Linux上部署一个单体项目,大多数同学都会有相同的感受,那就是麻烦。 核心体现在三点: 命令太多了,记不住 软件安装包名字复杂&…...
laravel8+vue3.0+element-plus搭建方法
创建 laravel8 项目 composer create-project --prefer-dist laravel/laravel laravel8 8.* 安装 laravel/ui composer require laravel/ui 修改 package.json 文件 "devDependencies": {"vue/compiler-sfc": "^3.0.7","axios": …...
Java求职者面试指南:计算机基础与源码原理深度解析
Java求职者面试指南:计算机基础与源码原理深度解析 第一轮提问:基础概念问题 1. 请解释什么是进程和线程的区别? 面试官:进程是程序的一次执行过程,是系统进行资源分配和调度的基本单位;而线程是进程中的…...

mac 安装homebrew (nvm 及git)
mac 安装nvm 及git 万恶之源 mac 安装这些东西离不开Xcode。及homebrew 一、先说安装git步骤 通用: 方法一:使用 Homebrew 安装 Git(推荐) 步骤如下:打开终端(Terminal.app) 1.安装 Homebrew…...

Razor编程中@Html的方法使用大全
文章目录 1. 基础HTML辅助方法1.1 Html.ActionLink()1.2 Html.RouteLink()1.3 Html.Display() / Html.DisplayFor()1.4 Html.Editor() / Html.EditorFor()1.5 Html.Label() / Html.LabelFor()1.6 Html.TextBox() / Html.TextBoxFor() 2. 表单相关辅助方法2.1 Html.BeginForm() …...

Qemu arm操作系统开发环境
使用qemu虚拟arm硬件比较合适。 步骤如下: 安装qemu apt install qemu-system安装aarch64-none-elf-gcc 需要手动下载,下载地址:https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-x…...

Unity中的transform.up
2025年6月8日,周日下午 在Unity中,transform.up是Transform组件的一个属性,表示游戏对象在世界空间中的“上”方向(Y轴正方向),且会随对象旋转动态变化。以下是关键点解析: 基本定义 transfor…...

Vue3 PC端 UI组件库我更推荐Naive UI
一、Vue3生态现状与UI库选择的重要性 随着Vue3的稳定发布和Composition API的广泛采用,前端开发者面临着UI组件库的重新选择。一个好的UI库不仅能提升开发效率,还能确保项目的长期可维护性。本文将对比三大主流Vue3 UI库(Naive UI、Element …...

Tauri2学习笔记
教程地址:https://www.bilibili.com/video/BV1Ca411N7mF?spm_id_from333.788.player.switch&vd_source707ec8983cc32e6e065d5496a7f79ee6 官方指引:https://tauri.app/zh-cn/start/ 目前Tauri2的教程视频不多,我按照Tauri1的教程来学习&…...