You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否通过site-packages中的符号链接减少Python项目磁盘占用?

Python 虚拟环境依赖去重:解决磁盘空间浪费问题

每次创建新Python项目时,整个包的代码库都会被复制到项目文件夹的虚拟环境中,这严重浪费磁盘空间。比如我不想每个项目都单独占用1GB的Tensorflow v2.8磁盘空间。

在其他编程语言里,这个问题很容易解决:

  • Node.js可以使用pnpm或yarn berry
  • Dart默认内置了该功能

它们都借助全局缓存目录实现依赖去重,运行时直接指向全局缓存中的包文件(像pnpm会用符号链接),路径类似~/cache/.some-language/some-package/version/files。

但我在Python生态里找不到类似的实现方式。我试过数十款Python包管理器,当初选择uv是因为它的GitHub页面宣传:

💾 磁盘空间高效,通过全局缓存实现依赖去重。

但实际测试后发现这宣传完全虚假且误导人——它仅缓存包以减少下次安装的网络下载量,仍会把完整的包文件复制到每个项目的.venv文件夹中,对磁盘空间优化毫无作用。

举个实际测试的例子,我查看项目虚拟环境下site-packages目录的大小:

myproject/.venv/site-packages % du -sh * | sort -hr | head -20

1.0G    tensorflow
326M    jaxlib
106M    mediapipe
106M    cv2
81M     scipy
72M     clang
46M     numpy

以下是我不接受的解决方案:

  • 使用全局解释器并在其上安装包
  • 复用虚拟环境(会拖慢无需Tensorflow等重型包的项目索引速度)

内容的提问来源于stack exchange,提问作者TSR

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 09:09:54