网易首页 > 网易号 > 正文 申请入驻

Python开发者装了10年包,才发现620KB的真相

0
分享至


一个63KB的库,实际占用620KB。这不是bug,是Python生态的集体盲区。

开发者Johan Lübcke花了多年时间优化代码性能——20倍、100倍的提速他都做到过。但他最近发现,自己忽略了一个更基础的问题:下载体积。没人讨论它,但边缘部署和Serverless冷启动都在为此买单。

「轻量」是个谎言:依赖树才是真相

几个月前,Lübcke对比了三款HTTP库。表面数据很干净:requests 63.4KB,httpx 71.8KB,aiohttp 1.7MB。但加上依赖后,故事完全变了——requests膨胀到620KB,httpx 560KB,aiohttp 2.6MB。

「包本身很小,但总体积完全是另一回事。」

这暴露了一个行业惯性:开发者选库时看功能、看性能、看社区活跃度,唯独不看「递归下载体积」。更麻烦的是,现有工具要么只显示已安装包的大小(pip list),要么需要实际安装才能测量(pip download)。没有工具能在安装前给出完整的依赖树体积。

Lübcke找了一圈,发现最接近的是pipgrip——但它只解析依赖关系,不计算体积。其他方案要么依赖本地pip子进程,要么需要真实下载文件。

「我想在安装前就知道大小。我想看到全貌——包本身加上每一个传递依赖。」

零下载方案:纯API架构的取舍

他最终写了一个叫pip-size的工具。核心设计很克制:不调用pip子进程,不实际下载任何文件,纯靠PyPI的JSON API获取元数据和文件尺寸。

执行逻辑分三步:解析用户输入的包名和版本约束→递归查询PyPI API构建完整依赖树→累加所有wheel文件的体积。输出格式模仿了pip的依赖树,但每一行都带文件大小。

以requests为例,工具会展开这样的结构:

requests==2.33.1 63.4 KB (total: 620.4 KB)

├── idna==3.11 69.3 KB

├── certifi==2026.2.25 150.1 KB

├── charset_normalizer==3.4.7 209.0 KB

└── urllib3==2.6.3 128.5 KB

这个递归过程处理了边缘情况:版本冲突时按pip的解析策略选择最新兼容版本;遇到平台特定wheel(如manylinux、win32)时,默认按当前平台筛选,但提供--all-platforms开关查看全部变体。

纯API方案的优势是速度。实测解析requests的完整依赖树耗时不到2秒,而pip download需要实际下载620KB数据,在慢速网络下差距更大。代价是精度:PyPI API返回的是wheel文件的理论大小,实际下载后解压到site-packages的体积会略大(通常10-20%,因为wheel是zip压缩格式)。

Lübcke在文档里诚实标注了这个限制:「测量的是下载带宽占用,而非磁盘最终占用。」

为什么体积突然变得重要

高性能库开发者关注体积,Lübcke总结了三个场景。

边缘设备部署。树莓派、工业网关、物联网节点的存储以MB计。一个宣称「轻量」但拖入500MB依赖的库,本质是负债。

Serverless冷启动。AWS Lambda、Google Cloud Functions的启动时间与包大小正相关。更小的包意味着更快的冷启动,直接换算成更低的账单和更好的用户体验。

CI管道效率。每次构建都重新安装依赖时,体积差异被网络延迟放大。一个团队每天触发几百次构建,累积效应可观。

这些场景的共同点是:开发者开始用基础设施的视角审视依赖,而不再只关心功能是否work。

pip-size的GitHub仓库在发布后一周内获得400+ stars。一条高赞评论来自一个边缘AI团队:「我们之前用requests,发现镜像体积多了600KB后换成了httpx。现在用你们的工具做预检,省了很多回滚。」

另一个常见反馈是关于平台特定依赖的复杂性。某些库(如numpy、pillow)在不同平台拉取的wheel差异巨大,Linux x86_64可能只有几MB,而macOS arm64版本翻倍。pip-size的--all-platforms开关就是回应这类需求。

工具目前不支持conda生态,这是架构决定的——conda的元数据结构和分发机制与PyPI完全不同。Lübcke在issue里回复:「如果conda有等效的JSON API,扩展不难。但目前没有。」

体积优化会成为Python库的新竞争维度吗?requests维护者在相关讨论中回应:「我们在考虑拆分charset_normalizer为可选依赖,但会破坏向后兼容。」这印证了Lübcke的观察——历史包袱让「减肥」比「加速」更难。

你的生产环境镜像里,有多少空间是被「轻量」库的隐藏依赖吃掉的?

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
欧冠主场输拜仁,落后巴萨7分,皇马不想四大皆空还得靠姆总熊皇

欧冠主场输拜仁,落后巴萨7分,皇马不想四大皆空还得靠姆总熊皇

夏侯看英超
2026-04-08 10:38:43
苏州!二手房涨271%!新房涨138%!最新出炉,楼市狂飙...

苏州!二手房涨271%!新房涨138%!最新出炉,楼市狂飙...

华瑶说房
2026-04-07 12:48:15
斯里兰卡警方确认:杀害中国籍女子后潜逃的嫌疑人已落网

斯里兰卡警方确认:杀害中国籍女子后潜逃的嫌疑人已落网

红星新闻
2026-04-07 10:35:08
深圳一救护车违反调度指令将患者拉至所属民营医院 家属称因延误抢救致死

深圳一救护车违反调度指令将患者拉至所属民营医院 家属称因延误抢救致死

闪电新闻
2026-04-08 00:35:09
第139届广交会首设两大无人机专区,集中呈现低空经济领域创新成果

第139届广交会首设两大无人机专区,集中呈现低空经济领域创新成果

金融界
2026-04-07 16:30:33
阿根廷、阿联酋、卡塔尔、黎巴嫩、阿塞拜疆驱逐伊朗大使

阿根廷、阿联酋、卡塔尔、黎巴嫩、阿塞拜疆驱逐伊朗大使

桑未落
2026-04-04 10:14:55
踩踏姆巴佩脚踝,拉奥斯:约纳坦-塔应该被红牌罚下

踩踏姆巴佩脚踝,拉奥斯:约纳坦-塔应该被红牌罚下

懂球帝
2026-04-08 09:50:16
假如在澳门赌场赢了600万,突然收手准备走人,会有什么下场吗?

假如在澳门赌场赢了600万,突然收手准备走人,会有什么下场吗?

壹知眠羊
2026-04-07 07:23:38
伊朗发出最后通牒!俄通告全球将参战,法国上将:中估计也要到了

伊朗发出最后通牒!俄通告全球将参战,法国上将:中估计也要到了

史智文道
2026-04-08 10:13:07
陈浩洋:美国想从伊朗脱身,以色列会设法让美欲撤而不能

陈浩洋:美国想从伊朗脱身,以色列会设法让美欲撤而不能

凤凰卫视
2026-04-07 18:09:10
附加赛的神!热火将连续4年征战附加赛

附加赛的神!热火将连续4年征战附加赛

懂球帝
2026-04-08 10:43:19
50岁北漂,79岁一身腱子肉,85岁考上飞行员,今90岁依然满血上班

50岁北漂,79岁一身腱子肉,85岁考上飞行员,今90岁依然满血上班

以茶带书
2026-04-04 16:37:00
官方:郑钦文因伤退出WTA500斯图加特站

官方:郑钦文因伤退出WTA500斯图加特站

懂球帝
2026-04-08 00:50:08
张姩菡妈妈李丽婧更新:辟谣假消息,孩子爸很强大,他承受了太多

张姩菡妈妈李丽婧更新:辟谣假消息,孩子爸很强大,他承受了太多

观察鉴娱
2026-04-08 09:48:20
台湾普通家庭到底啥水平?我去了才知道,答案很现实也让人意外

台湾普通家庭到底啥水平?我去了才知道,答案很现实也让人意外

复转这些年
2026-04-06 23:34:04
统派大佬送行,郑丽文乘航班来沪,启程前对美国表态,侯友宜发声

统派大佬送行,郑丽文乘航班来沪,启程前对美国表态,侯友宜发声

史智文道
2026-04-08 09:41:36
美国UFO博士称无手段能阻止外星人,信息全面公开将“引爆地球”

美国UFO博士称无手段能阻止外星人,信息全面公开将“引爆地球”

译言
2026-04-08 06:18:11
美军想不通:屏蔽中东GPS,竟被重庆两百块高尔夫测距仪破解

美军想不通:屏蔽中东GPS,竟被重庆两百块高尔夫测距仪破解

百科密码
2026-04-01 16:36:30
日经225指数涨幅扩大,现涨4.0%,最新报55626.25点

日经225指数涨幅扩大,现涨4.0%,最新报55626.25点

每日经济新闻
2026-04-08 08:08:03
当年,王自健因为说错话,被妻子打了500个耳光,他卑微跪地求饶

当年,王自健因为说错话,被妻子打了500个耳光,他卑微跪地求饶

阿七说史
2026-04-03 15:48:08
2026-04-08 11:07:00
碳基打工人
碳基打工人
坐标北京,靠咖啡续命,靠小红书下饭的普通人类。
968文章数 6关注度
往期回顾 全部

科技要闻

造出地表最强AI,却死活不给你用!

头条要闻

陈丽华4个子女疑每人获100亿 迟重瑞获得紫檀宫经营权

头条要闻

陈丽华4个子女疑每人获100亿 迟重瑞获得紫檀宫经营权

体育要闻

官宣签约“AI球员”,这支球队被骂惨了...

娱乐要闻

女首富陈丽华离世 被曝生前已分好遗产

财经要闻

特朗普同意停火两周 伊朗:接受停火提议

汽车要闻

5门5座/新复古造型 缤果Pro将于4月14日开启预售

态度原创

本地
房产
时尚
教育
公开课

本地新闻

跟着歌声游安徽,听古村回响

房产要闻

千亿双国企,定序主城第一大盘!三亚买房逻辑变了!

阔腿裤失宠了?今年这几条裤子最时髦!

教育要闻

孩子主动表达的重要性与警示信号

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版