【独家解析】为什么你的exe文件体积超大?Python打包压缩优化秘籍

PyInstaller结合UPX压缩:实战优化Python打包exe体积 本文详细介绍了如何使用PyInstaller结合UPX压缩工具,有效优化Python打包后exe文件的体积。通过分析打包体积过大的原因,讲解UPX的加壳压缩原理,并提供从下载配置、命令行参数到实战效果对比的完整教程。文章还涵盖了32/64位兼容性、常见错误排查及进阶优化思路,帮助开发者显著减少分发文件大小,提升效率。 阅读详情

第一章:Python打包成exe并在无环境电脑运行

将Python脚本打包为可执行文件(.exe)是实现程序在无Python环境的Windows系统上独立运行的关键步骤。借助第三方工具如PyInstaller,开发者可以将脚本及其依赖项、解释器一并封装为单一可执行文件,极大提升部署便捷性。

安装PyInstaller

使用pip命令安装PyInstaller,确保已配置Python和pip环境:
# 安装PyInstaller
pip install pyinstaller

打包Python脚本为exe

进入脚本所在目录,执行打包命令。以下命令将`main.py`打包为单个可执行文件:
# 生成单个exe文件(推荐用于发布)
pyinstaller --onefile --windowed main.py

# 参数说明:
# --onefile:打包为单个exe文件
# --windowed:不显示控制台窗口(适用于GUI程序)
# 若为命令行程序,可省略--windowed

常见选项与输出结构

  • --onefile:所有内容压缩至一个exe中,便于分发
  • --noconsole:完全隐藏控制台(适用于后台服务或GUI应用)
  • --icon=app.ico:指定exe图标文件
  • --name=MyApp:自定义生成的exe名称
打包完成后,生成的exe文件位于dist/目录下。将该文件复制到无Python环境的电脑,可直接双击运行,无需额外安装依赖。

依赖与兼容性注意事项

项目说明
操作系统仅支持在Windows上生成Windows exe;跨平台需在对应系统构建
Python版本建议使用Python 3.6及以上版本以保证兼容性
大型依赖库如OpenCV、PyQt等会显著增加exe体积,但均可正常打包

第二章:深入理解Python打包机制与体积成因

2.1 Python打包工具对比:PyInstaller、cx_Freeze与Nuitka

在将Python应用部署到无解释器环境时,选择合适的打包工具至关重要。PyInstaller、cx_Freeze和Nuitka是当前主流的三种方案,各自具备不同的架构设计与性能特征。
核心特性对比
  • PyInstaller:支持单文件打包,自动解析依赖,跨平台兼容性优秀;但生成文件体积较大。
  • cx_Freeze:类distutils风格,配置灵活,适合复杂项目;但不支持单文件输出。
  • Nuitka:将Python编译为C++代码,执行效率高,反向工程难度大;但构建时间较长,依赖完整编译链。
典型使用示例

pyinstaller --onefile --windowed app.py
该命令使用PyInstaller生成无控制台窗口的单可执行文件,--onefile合并所有依赖至单一二进制,--windowed避免Windows下弹出终端窗口。
适用场景总结
工具启动速度文件大小适用场景
PyInstaller中等大快速部署桌面应用
cx_Freeze较慢中等多文件分发项目
Nuitka快小高性能或需代码保护场景

2.2 打包过程中依赖库的自动收集原理分析

在现代打包工具(如 Webpack、Vite)中,依赖库的自动收集依赖于静态代码分析技术。构建工具会从入口文件开始,递归解析模块间的引用关系。
依赖图谱构建过程
  • 通过 AST(抽象语法树)解析源码,识别 import 或 require 语句
  • 将每个模块标记为图中的节点,引用关系作为边
  • 最终生成完整的依赖关系图(Dependency Graph)
代码示例:AST 解析片段

const parser = require('@babel/parser');
const ast = parser.parse(code, { sourceType: 'module' });
// 遍历 AST 节点,提取 ImportDeclaration
ast.program.body.forEach(node => {
  if (node.type === 'ImportDeclaration') {
    console.log(node.source.value); // 输出依赖路径
  }
});
该代码利用 Babel 解析器生成 AST,遍历所有节点并提取导入模块路径,是依赖收集的核心逻辑之一。
外部依赖识别策略
策略说明
路径前缀判断以 ./ 或 / 开头为本地模块
npm 模块注册未匹配路径默认查询 node_modules

2.3 运行时环境嵌入对文件体积的影响探究

在构建轻量级可执行程序时,运行时环境的嵌入方式显著影响最终文件体积。静态链接会将所需库完整打包,导致体积膨胀;而动态链接则依赖外部共享库,减小包大小但增加部署复杂度。
典型构建场景对比
  • 全量嵌入:包含完整运行时,启动快但体积大
  • 按需加载:仅嵌入使用到的模块,有效瘦身
  • 外置依赖:运行时独立分发,主程序极简
Go语言示例分析
// 开启静态编译
CGO_ENABLED=0 GOOS=linux go build -a -ldflags '-extldflags "-static"' main.go
该命令强制静态链接所有依赖,生成的二进制文件体积从5MB增至12MB,但具备更高可移植性。参数-a表示重新编译所有包,-ldflags控制链接器行为,直接影响产物尺寸与依赖模式。

2.4 资源冗余与重复文件的生成原因实战剖析

数据同步机制
在分布式系统中,为保障高可用性,常采用多节点数据同步策略。当配置不当或网络分区发生时,同一资源可能被多次拉取并存储,导致冗余。
自动化脚本误操作
以下 Shell 脚本片段展示了常见问题:

#!/bin/bash
for file in $(ls /source/); do
    cp /source/$file /backup/$file
    cp /source/$file /archive/$file  # 重复拷贝未校验
done
该脚本未校验目标路径是否存在同名文件,连续执行将生成重复副本。建议引入 if [ -f ] 判断避免覆盖与重复。
  • 未启用去重机制的备份策略
  • CI/CD 流水线中重复构建输出产物
  • 用户侧多次手动触发上传任务

2.5 从字节码到可执行文件:PE结构中的数据膨胀路径

在Windows平台,.NET字节码(CIL)最终被封装进PE(Portable Executable)文件格式中。这一过程中,元数据表、资源段、调试信息和运行时描述符的注入,显著增加了原始字节码的体积。
PE文件结构的关键组成部分
  • .text段:存放编译后的本地代码或CIL指令
  • .rsrc段:嵌入图标、字符串表等资源
  • 元数据表:存储类型定义、方法签名、字段信息
典型数据膨胀示例

; 简单HelloWorld程序在编译后
; 原始CIL: ~200字节
; 最终PE文件: ~15KB (含头信息、对齐填充、元数据)
上述差异主要源于PE头(DOS头、NT头)、节表对齐(默认512字节)、以及CLR头的强制附加。例如,.metadata节通常占据数KB空间,即使程序逻辑极简。
[流程图示意] 源代码 → CIL字节码 → 添加元数据 → 插入CLR运行时引用 → PE头封装 → 可执行文件

第三章:主流打包工具优化策略实践

3.1 使用PyInstaller的--exclude-module精简依赖

在构建Python可执行文件时,依赖包的体积直接影响最终产物的大小。PyInstaller默认会打包项目所需的所有模块,但部分内置或未实际使用的模块可能被误包含。
排除冗余模块
通过--exclude-module参数可手动剔除特定模块,有效减小输出体积。例如:

pyinstaller --exclude-module tkinter --exclude-module asyncio app.py
上述命令排除了GUI相关的tkinter和异步库asyncio,适用于无界面的轻量脚本。该方式特别适合部署在资源受限环境,如Docker容器。
常见排除模块对照表
模块名用途建议排除场景
tkinterGUI界面命令行工具
matplotlib绘图无图形输出程序

3.2 单文件模式与目录模式的性能与体积权衡

模式差异与适用场景
单文件模式将所有资源打包为一个输出文件,适合小型应用或静态部署;而目录模式按模块拆分,适用于大型项目。前者减少HTTP请求数,后者提升缓存利用率。
构建体积对比
模式初始加载体积缓存效率构建速度
单文件大低快
目录模式小(分块)高较慢
代码分割示例

// webpack.config.js
module.exports = {
  optimization: {
    splitChunks: {
      chunks: 'all',
      cacheGroups: {
        vendor: {
          test: /[\\/]node_modules[\\/]/,
          name: 'vendors',
          chunks: 'all',
        }
      }
    }
  }
};
该配置启用代码分割,将依赖库独立打包,降低主文件体积。splitChunks自动识别模块来源,vendor组提取node_modules中代码,实现按需加载。

3.3 利用spec文件定制化构建流程实现精准控制

RPM 的 spec 文件是构建过程的核心配置,通过定义预处理、编译、安装和打包等阶段指令,实现对软件包构建的精细化控制。
Spec 文件关键段落解析

%prep
%setup -n %{name}-%{version}

%build
./configure --prefix=/usr
make

%install
make install DESTDIR=%{buildroot}
上述代码中,%prep 阶段解压源码并切换目录;%build 执行编译配置与构建;%install 将文件安装至临时根目录,避免污染主机系统。各阶段通过宏(如 %{buildroot})动态替换路径,提升可移植性。
自定义宏与条件构建
  • %define 可声明自定义变量,用于控制功能开关
  • 使用 %if %{with_feature} 实现条件编译支持
  • 通过 --with 或 --without 参数触发不同构建路径

第四章:高级压缩与资源管理技巧

4.1 集成UPX压缩提升分发效率(附配置教程)

在构建高性能、轻量化的可执行文件时,集成UPX(Ultimate Packer for eXecutables)能显著减小二进制体积,提升部署与分发效率。尤其适用于Go、C++等编译型语言生成的大型可执行文件。
安装与基础使用
首先确保系统已安装UPX工具:

# Ubuntu/Debian
sudo apt-get install upx

# macOS
brew install upx

# 压缩可执行文件
upx --best --compress-exports=1 your-binary
参数说明:--best 启用最高压缩等级,--compress-exports=1 确保导出表也被压缩,适用于插件类程序。
自动化集成到构建流程
在CI/CD脚本中嵌入压缩步骤,实现自动优化:
  • 编译完成后触发UPX压缩
  • 验证压缩后文件可正常运行
  • 上传至分发平台前完成瘦身

4.2 外部加载非核心资源实现运行时动态获取

在现代应用架构中,将非核心资源(如配置文件、UI模板、插件模块)从主程序解耦,通过外部加载机制实现运行时动态获取,可显著提升系统的灵活性与可维护性。
动态资源加载流程

请求触发 → 资源定位 → 网络拉取 → 校验完整性 → 注入执行环境

常见加载方式对比
方式延迟安全性适用场景
HTTP Fetch低中Web组件
CDN分发极低高静态资源
代码示例:异步加载JSON配置
fetch('/config/theme.json')
  .then(response => {
    if (!response.ok) throw new Error('Network error');
    return response.json();
  })
  .then(config => applyTheme(config)); // 动态应用主题
上述代码通过 fetch 异步获取远程主题配置,响应成功后解析 JSON 并调用 applyTheme 函数注入到运行环境中,实现无需重新构建的界面动态切换。

4.3 构建轻量虚拟环境仅包含必要依赖包

在现代开发实践中,保持虚拟环境的简洁性对提升项目可维护性和部署效率至关重要。通过精确管理依赖项,可避免版本冲突并减少安全风险。
使用 venv 创建基础隔离环境
Python 内置的 `venv` 模块是构建轻量环境的首选:
python -m venv myenv
source myenv/bin/activate  # Linux/macOS
# 或 myenv\Scripts\activate  # Windows
该命令生成独立运行时目录,仅包含 Python 解释器及基本工具,无第三方包污染。
依赖项精准安装策略
建议采用 `requirements.txt` 显式声明必要依赖:
  • 仅列出直接依赖,避免嵌套传递依赖冗余
  • 固定版本号以确保环境一致性(如 Django==4.2.7)
  • 使用 pip install --no-deps 控制安装粒度
最小化依赖验证方法
检查项命令
已安装包列表pip list
未使用依赖分析pip-check-unused

4.4 清理编译中间产物与符号信息减少冗余

在构建高效、轻量的可执行文件时,清理编译过程中产生的中间产物和调试符号至关重要。这些冗余数据不仅增加二进制体积,还可能暴露敏感信息。
常用清理手段
通过工具链提供的功能可有效剥离无用数据:
  • strip 命令移除调试符号
  • 链接时使用 -s 和 -w 参数禁用符号表与调试信息生成
  • 构建后自动清理临时目标文件(如 *.o)
go build -ldflags="-s -w" -o app main.go
strip --strip-all app
上述命令中,-s 去除符号表,-w 移除调试信息;strip --strip-all 进一步压缩可执行文件,通常可减少30%以上体积。
构建流程优化建议
阶段操作
编译启用最小化标志
链接静态链接避免依赖膨胀
打包删除中间文件与日志

第五章:跨平台部署验证与未来优化方向

多环境部署一致性验证
在完成容器化打包后,系统被部署至三类运行环境:本地开发机(macOS)、云服务器(Ubuntu 20.04)与边缘设备(树莓派 4B,ARM64 架构)。通过统一的 Docker Compose 配置文件启动服务,确保依赖版本与网络拓扑一致。日志采集模块自动上报启动耗时与资源占用,结果显示 ARM 平台首次冷启动延迟增加约 38%,主要源于 Go 编译时未启用交叉优化。

// 启用特定架构优化的构建命令
// GOARCH=arm64 GOOS=linux go build -ldflags="-s -w" -o service-arm main.go
package main

import _ "net/http/pprof" // 生产环境需通过构建标签控制启用
性能瓶颈识别与调优路径
使用 Prometheus + Grafana 对各节点进行持续监控,发现数据库连接池在高并发下成为瓶颈。以下为连接参数调整建议:
参数原值优化值说明
max_open_conns2050提升并发查询能力
max_idle_conns1025减少连接创建开销
conn_max_lifetime1h30m避免长时间空闲连接失效
未来可扩展架构设计
考虑引入 WASM 模块化插件机制,允许用户在不重启服务的情况下动态加载数据处理逻辑。结合 eBPF 技术,可在内核层实现高效流量观测,适用于大规模边缘集群的实时策略分发。服务网格 Sidecar 注入方案已在测试环境中验证,能有效隔离业务与通信逻辑。
Python实用记录(十五):PyQt/PySide6打包成exe,精简版(nuitka/pyinstaller/auto-py-to-exe) 打包的话,用nuitka更适合,对PySide支持更好。压缩后仅15MB左右。 阅读详情

相关推荐

Pycharm实战:一键打包Python脚本为exe文件

本文详细介绍了如何在PyCharm中使用PyInstaller将Python脚本打包成独立的exe可执行文件。通过创建虚拟环境、安装PyInstaller、执行核心打包命令并详解关键参数(如-F单文件、-w隐藏窗口),解决了程序分发和环境依赖问题。文章还提供了高级优化技巧,如减小文件体积和处理路径问题,并指导在PyCharm中配置一键打包工具,提升开发效率。

jwt8token的博客 1027

最详细Python打包exe教程,并修改图标,只需30秒

大家好我是邓哥,之前给大家分享PDF转WORD教程中, 大家比较关注的点都在如何将Python文件打包成可执行的exe文件。 Python PDF文件转Word格式,3秒完美搞定!(附打包) 今天就单独伶出来给大家讲一下: 大家的问题我总结了有以下几个: 1. 为什么要打包? 2. 环境需求? 3. 如何将Python文件打包成exe文件? 4. 如何给exe文件生成自己心仪的图标? 5. 如何减小exe文件的体积? 为什么要打包? 众所周知,Python脚本不能在没有

qq_36807888的博客 1万+

PyInstaller打包exe文件太大?试试这个UPX压缩技巧,轻松瘦身50%

本文详细介绍了如何使用UPX压缩工具优化PyInstaller打包的exe文件大小,轻松实现50%的瘦身效果。通过分析文件增重原因、UPX技术原理及实战配置步骤,帮助开发者高效减少Python应用程序的体积,同时保持运行性能。

php55的博客 1134

《Python 打包 EXE 后文件太大?3 个压缩技巧让安装包体积减半》

通过以上三个技巧——优化 PyInstaller 配置、精简依赖库和使用 UPX 压缩——你可以轻松将 Python EXE 安装包体积减半。例如,一个初始 50MB 的文件,应用这些方法后可能缩小到 25MB 以下。这不仅提升用户体验,还降低分发成本。测试是关键:每次优化后运行应用,确保功能正常。结合使用效果更佳:例如,先精简依赖,再用 PyInstaller 和 UPX 压缩。持续监控:随着项目更新,定期检查体积变化。赶紧尝试这些技巧吧!如果你有更多问题,欢迎在评论区讨论。

2501_93894976的博客 1408

Nuitka打包Python程序实战:如何用UPX压缩让exe体积减半

本文详细介绍了如何使用Nuitka结合UPX压缩技术,将Python程序打包后的exe文件体积减半。通过对比PyInstaller等传统工具,展示了Nuitka编译优化和UPX压缩的显著效果,提供了从环境配置到高级优化的完整实战指南,帮助开发者高效解决Python程序打包体积过大的问题。

o5p6q的博客 270

【pyinstaller】关于打包优化压缩体积的几种方式

使用pyinstaller自带的命令行参数参考链接这个功能类似或者底层就是python解释器的编译优化的功能,默认是0,即不开启编译优化。注意以上的优化,是针对源码py到字节码pyc的编译阶段,如果项目已经由cython编译为pyd的机器码后,再开这个优化的话,效果微乎其微。

Watson的博客 2018

Python项目打包成exe -—— 详细教程

Python项目打包成exe -—— 详细教程

小蜜蜂vs码农 4499

将python程序打包成exe,个人结合网络汇总

相信大家都知道,Python被称为最简单的编程语言,以其简单、优美而著称。Python越来越被大家所关注,随着越来越多的人开始学习Python代码大家其实或多或少都会遇到一些问题,而今天我们要来解决的问题就是将Python文件打包成为一个可以执行的EXE文件,就像QQ、微信只需要点一下就可以执行,方便快捷。 那么如何将Python文件打包成为一个EXE文件呢? 首先就需要使用一个工具:pyinstaller,据说是一个人自己编写的工具(详情可以百科一下) 目前有的系统是windows10,所以今天就以

qq_51399325的博客 2377

将python代码打包成小小exe,比pyinstaller好用

我原来代码是python的,但是打包成exe后文件非常大,我想要体积小的exe文件,方便拷贝到其他win电脑上运行。

jxyk2007的专栏 2514

PyInstaller打包体积太大?试试这几个优化技巧,轻松瘦身你的exe文件

本文详细介绍了PyInstaller打包Python应用时体积过大的问题及优化技巧。通过纯净环境管理、精准排除未使用库、UPX压缩、分模块打包和资源优化等方法,可显著减小exe文件体积,提升分发效率。特别适合需要精简可执行文件大小的Python开发者。

weixin_33738555的博客 474

exe体积优化实战:从Python打包到UPX压缩的完整指南

可执行文件体积直接影响软件分发效率、用户下载体验和安全检测结果。Windows程序打包过程中,exe体积可能因捆绑运行时环境而膨胀数倍。掌握体积优化的核心原理——裁剪依赖、压缩二进制、替代运行时,是开发者和工具型团队提升交付质量的关键。遇到Python程序打包生成的exe过大时,可通过PyInstaller的模块排除、UPX压缩和资源精简等组合手段,有效削减安装包体积。对于追求极致轻量的场景,Nuitka、GraalVM等原生编译方案能从源头减少运行时依赖。从体积构成分析到实操案例,一份完整的Windows

weixin_33904756的博客 326

将 Python 项目打包成 EXE 可执行文件

你好,我是悦创。 一直有读者在后台问有关 Python 脚本打包成 exe 的问题。 今天就给大家全面总结一下:Python 如何打包成 exe,以及如何打得足够小。 标准打包 目前比较常见的打包 exe 方法都是通过 Pyinstaller 来实现的,本文也将使用这种常规方法。如果对这块已经很熟悉的小伙伴,可以直接下滑到本文下半部分。 为什么要打包? 众所周知,Python 脚本不能在没有安装 Python 的机器上运行。 那我们如果写了一个数据分析/自动化办公的小脚本,想分享给同事小姐姐使用,可她电脑又

AI悦创·编程私教1v1 8055

开源LocalAI本地人工智能安装教程

LocalAI是一款能在本地运行的人工智能应用,它兼容了OpenAI API规范,它可以在普通的电脑运行,不需要GPU,也不需要联网,音频转录

2301_78652552的博客 3614

将python项目打包成exe可执行文件(多个文件和素材)

一.将单个文件打包 1.安装Pyinstaller模块 2.在Pycharm中的Terminal输入命令:“pyinstaller -F -w XXX.py” 就可以制作出exe。 在cmd中:先cd到项目目录下再输入命令。例如:pyinstaller -F -w -i g:\2345Downloads\logo.ico login.py Notice:(g:\2345Downloads\logo...

轻松玩编程 8246

通达信【雷霆尊者排序】实战指南:高胜率竞价指标解析与优化策略

本文详细解析了通达信【雷霆尊者排序】指标在集合竞价阶段的应用,提供从基础设置到实战解码的完整指南。文章重点剖析了‘雷霆’、‘使者’、‘精选’等核心信号的逻辑与共振策略,并分享了如何结合K线、市场情绪进行综合研判与风险控制,旨在帮助短线交易者提升早盘选股效率与胜率。

pear55的博客 951

告别命令行恐惧!用nTopology可视化工具5分钟搞定三维Voronoi泡沫建模

本文介绍如何利用nTopology可视化工具快速生成三维Voronoi泡沫结构,无需编程即可完成复杂建模。Voronoi结构在轻量化设计、能量吸收和生物医学等领域具有重要应用,传统命令行方法门槛较高。通过nTopology的四步流程,用户可在5分钟内创建仿真就绪模型,大幅提升设计效率。

weixin_30764771的博客 426

python程序打包为exe,并压缩体积最小!

python程序正常通过pyinstaller直接打包成exe体积会很大,因为关联了其他的包。所有可以通过新建一个虚拟的环境来减小体积。 1.在pycharm中新建一个工程,自己新建一个文件,如图中命名为new,修改第二个location的位置为自己新建的文件夹 2.将 需要打包的python程序放入pythonProject中 3.用pip命令在pycharm终端安装程序中所需的库 4.安装pyinstaller用于打包程序 5.输入以下命令进行打包 pyinstall...

qq_53623764的博客 7208

SAP PS模块预算控制实战:为什么你的采购订单金额和预算占用对不上?

本文深入解析SAP PS模块中采购订单金额与预算占用偏差的常见问题,揭示承诺成本与实际成本的分流处理机制。通过实战案例和六步定位法,提供发票拆分、跨年度预算等典型场景的解决方案,并分享预防性配置框架和最佳实践,帮助企业有效控制预算偏差。

weixin_30363981的博客 515

一键式Excel分词统计工具:如何轻松打包Python脚本为EXE

最近,表姐遇到了一个挑战:需要从Excel文件中统计出经过分词处理的重复字段,但由于数据隐私问题,这些Excel文件不能外传。这种情况下,直接使用Excel内置功能好像是行不通的,需要借助Python脚本来实现。 为了解决这个问题,我写了一个简单的数据分析和自动化办公脚本,以方便使用。想象一下,即使电脑上没有安装Python,也能通过一个简单的EXE文件轻松完成工作,这是多么方便! 因此,我决定不仅要写出这个脚本,还要学会如何将其打包成一个独立的EXE文件。这样,无需Python环境的电脑也能直接运行它

定期分享我的发现和想法,感谢你的陪伴和支持 3277

GNSS数据资源全解析:从DCB到BSX文件的下载与应用指南

本文系统解析了GNSS数据处理所需的核心数据资源,包括DCB、BSX、SP3、CLK等关键文件的官方下载路径与应用方法。详细介绍了CDDIS、武汉大学镜像站等权威数据源,并提供了从数据下载到实际应用的完整指南,帮助用户高效获取GNSS数据,提升精密定位处理效率。

weixin_29246195的博客 141

QGraphicsView通过鼠标操作来绘制图元

在Visio和MindManager等类似的图元操作软件中,很多时候我们会通过鼠标操作来添加自定义的图元。这里就介绍一下如何在QT的图形视图框架中通过鼠标绘制来添加图元。

yang1fei2的博客 3576

pyinstaller 将python打包成exe文件

python提供了多种方法用于将普通的*.py程序文件编译(打包)成exe文件。exe文件即可执行文件,打包后的*.exe应用不用依赖python环境,可以在他人的电脑上运行。pyinstaller是一个第三方模块,专用于python程序的exe打包。此外python还有一些别的方法进行打包,但是pyinstaller打包最强大而且好用。在开始打包前,读者有必要先了解pyinstaller的打包原理。如果你只在乎打包结果而不在乎细节,你可以跳过第3章,直接进入下面的打包环节。

m0_72796923的博客 1449

ADC的有效位数(ENOB)、信噪比(SNR)和无杂散动态范围(SFDR)——详细分析

设计提示(从文本):选择ADC时,看数据手册的SNR、ENOB、SFDR vs 频率图。减小抖动:用低抖动时钟、优化PCB、电源滤波。对于大信号:关注SFDR(失真);小信号:关注SNR/ENOB(噪声)。如果ENOB不足,用过采样或多ADC并行提升(但增加复杂度)。为什么这段重要?它解释了为什么高速ADC(如用于5G、雷达)的规格那么贵:抖动和失真限制了高频性能。理解这些,能帮你避免设计陷阱。

VectorShift的博客 1403

Python代码打包为exe自学指南

在Python中,将项目打包成可执行的exe文件是一个常见的任务,尤其是在需要分发应用程序给没有安装Python环境的用户时。下面是几种主流的方式及其参数的含义和使用案例。给exe添加个性化图标(格式必须为.ico,推荐尺寸256x256)。步骤1.准备.ico 图标文件(可通过在线工具将 PNG/JPG 转换为 ICO,如 Convertio);2.将图标文件放在代码目录下(与 main.py 同级);3.执行打包命令(添加-i。

折翼孤雁 1946

使用自己的数据跑通mmsegmentation

使用自己的数据跑通mmsegmentation,解决以下报错:1)type object 'FileClient' has no attribute 'infer_client' 2)It is expected output_size equals to 2, but got size 3 3)训练测试结果报NAN 4)KeyError: 'MyDataset is not in the dataset registry' 5)预训练模型和加载的网络结构层名有差异,unexpected key .....

猫猫与橙子的博客 1656

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

为什么py文件打包后大小会增加很多?

对于依赖复杂库(如深度学习、GUI 界面)的脚本,体积膨胀会更明显(可能从几 KB 增加到几十 MB 甚至几百 MB)。打包工具(如 PyInstaller)会将。脚本中使用的第三方库(如numpy、pytorch、opencv-python、PyQt5等)会被打包工具。(如图标、图片、配置文件、字体、模型文件等)会被打包工具自动复制到输出目录(或嵌入可执行文件)。Python 脚本(.py文件)打包成可执行文件(如.exe)后体积大幅增加,主要是因为打包工具需要。打包后的可执行文件本质是一个。

weixin_47696437的博客 1595

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

上一篇: 99%的Python开发者踩过的坑:浅拷贝与深拷贝的5大误解,你中招了吗?
下一篇: 还在用for循环写Excel?(2024最新导出范式:Ribbon流式+列式压缩+分段校验——仅限头部金融/电商团队内部流出)
IterStream
博客等级 码龄1年 152粉丝 2112原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值