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

Python 之获取安装包所占用磁盘空间大小

之前的博客提到过如果 python 安装的第三方包太多的话(且没有为每个项目单独安装虚拟 python 环境),会导致打包后的 exe 文件比较臃肿,而且很可能这些包在我们打包的程序里其实根本用不着,这时候我们可以再在 spec 文件添加 excludes 参数排除部分比较重且用不到的模块。

但是,我们要怎么能快速获取到哪些包比较重且我们打包程序是不需要的呢?

我们可以利用 pkg_resources 获取安装包目录列表,然后计算对应的包所占磁盘的空间。比如我们筛选出空间占用大于 10M 的安装包。

import os import pkg_resources def get_size(path): total = 0 for dirpath, dirnames, filenames in os.walk(path): for f in filenames: fp = os.path.join(dirpath, f) total += os.path.getsize(fp) return total for dist in pkg_resources.working_set: try: # 包的实际路径通常是 location/package_name path = os.path.join(dist.location, dist.project_name) size_mb = get_size(path) / 1024.0 / 1024.0 if size_mb > 10: # 只显示大于10M的包 print(f"{dist.key}: {size_mb:.2f} MB") except OSError: # 处理包路径不存在的情况 pass
faker: 15.05 MB pip: 13.70 MB plotly: 88.53 MB chardet: 20.76 MB pyqt5: 142.24 MB fonttools: 15.15 MB matplotlib: 27.75 MB pandas: 62.98 MB playwright: 102.04 MB numpy: 64.67 MB onnxruntime: 35.32 MB scipy: 120.88 MB sympy: 70.25 MB debugpy: 31.14 MB ddddocr: 84.08 MB jieba: 41.08 MB statsmodels: 47.52 MB sqlalchemy: 17.08 MB

在使用 pyinstaller 打包的时候,使用 excludes 参数排除掉空间占用高且用不到的模块。

a = Analysis( # ... excludes=['ddddocr', 'pandas', 'numpy', 'pyqt5', 'playwright'], # 在这里添加 # ... )
pyinstaller ./test.spec

当然,如果你已经使用了虚拟环境,且只安装了项目需要的必要依赖,那就没有此烦恼了。

http://www.jsqmd.com/news/507502/

相关文章:

  • OpenVINO实战:从模型部署到边缘计算性能优化
  • DCT-Net风格迁移:从名画到卡通
  • 郑州郑东新区产后修养哪里找? - 中媒介
  • 2026年聚氨酯砂浆地坪厂家推荐:食品/医药/电子/车库地坪工程用水性聚氨酯砂浆自流平供应商精选 - 品牌推荐官
  • AI原生应用领域自然语言处理的技术突破
  • 2026年线路抢修场景电缆头产品深度评测报告 - 资讯焦点
  • MATLAB图像处理:精准截取目标区域的imcrop实战指南
  • 实时数据可视化:Superset实战指南
  • 最新发布:2026四川西服、职业装定制生产前十强厂家资质与案例信息一览 - 深度智识库
  • 如何完整备份微信聊天记录?WeChatExporter开源工具全解析
  • HDLbits实战攻略:从Verilog语法到复杂电路设计的通关指南
  • 2026年江苏无锡宣传片拍摄价格数据出炉,TOP5机构现状盘点 - 精选优质企业推荐榜
  • 好靶场文件包含这一块(kskbl)
  • Python自动化同步与解析通达信财务数据实战
  • 2026淮北专业洗衣标杆:洁涤星解锁洗衣新便捷 - 资讯焦点
  • jsp payload解析
  • Ansys Mechanical 简易支架强度分析,核心供应商推荐 - 品牌2025
  • 2026年3月电动喷雾器厂家推荐排行榜单:五大厂商深度对比与采购评测指南 - 品牌推荐
  • 北京茅台酒上门回收实测:30 分钟速达、36 年连锁老店,藏友圈口碑之选 - 资讯焦点
  • 文旅大模型的垂直化挑战:通用大模型为什么满足不了景区讲解需求?
  • 2026年上海别墅采暖必看!怕占层高选暖气片追求舒适选地暖?富杉冷暖给你专业建议 - 资讯焦点
  • 4个步骤掌握抖音直播数据采集:DouyinLiveWebFetcher的实时互动分析应用指南
  • 2026年江苏无锡老板IP打造公司TOP5名单出炉 - 精选优质企业推荐榜
  • 多媒体格式转换--FFmpeg
  • 2026年3月宠物医疗推荐:3公里内优选医院,安诺宠物医院市场认可度高 - 品牌推荐师
  • 西安非遗大剧院,西北首家沉浸式非遗文化体验殿堂 - 博客万
  • AFSim 2.9中文参考手册隐藏技巧大揭秘:提升效率的5个冷门功能
  • Navicate注册机出现RSA Public Key Not Found错误处理
  • 2026年3月环境安全检测产品推荐排行榜单:五家厂商客观对比与深度评测分析 - 品牌推荐
  • LizzieYzy智能分析助手实战指南