被遗忘的 Python 环境:快速清理磁盘

发布: (2026年5月1日 GMT+8 22:00)
5 分钟阅读
原文: Dev.to

Source: Dev.to

沉默增长的未被监控

虚拟环境起初看似很小,但会迅速成倍增长:

  • 测试项目
  • 黑客马拉松仓库
  • 教程克隆
  • 临时分支
  • 从未关闭的概念验证(PoC)

在实际的依赖管理(框架、数据库、工具)下,每个环境可能占用数百 MB,甚至 GB。

技术垃圾的隐藏位置

不仅仅是 .venv/

  • 缓存的 Poetry 环境
  • conda 环境
  • .tox 文件夹
  • 分散的 __pycache__ 目录
  • dist//build/ 打包产物

这类文件会悄然增多,因为几乎没有默认工作流会自动清理它们。

专业的四步清理策略

1) 删除前先盘点

先看到,后行动。

2) 按类型和年龄分类

删除昨天创建的环境和删除180天未触碰的环境并不是同一件事。

3) 安全分批清理

先从缓存和产物开始,然后再处理旧的环境。

4) 自动化维护

如果不自动化,问题会再次出现。

KillPy 作为维护组件(不做广告)

在完成盘点后,难点在于找到分散在各种工具和仓库中的环境,并按年龄/大小进行排序。 KillPy 可以扫描指定路径并在删除前列出候选项。

实用示例:

# 查看使用概览
killpy stats --path ~

# 列出旧环境
killpy list --older-than 120

# 模拟清理而不实际删除
killpy delete --type cache --dry-run

对大多数开发者而言,每月一次的检查足以保持本地环境健康。

常见错误

  • 盘点前就直接删除。
  • 在未检查最近访问时间的情况下删除正在使用的环境。
  • 项目运行时清理缓存。
  • 不对锁文件进行版本管理,导致后期无法重新构建环境。

预防最佳实践

为每个项目保持统一标准

  • 在仓库根目录使用 .venv
  • 编写并记录官方命令。
  • 避免在仓库外随意创建环境。

让依赖管理可复现

  • 保持 pyproject.toml 健康。
  • 每次依赖变动后更新锁文件。

CI/CD 黄金规则

  • 从头构建环境。
  • 不复用上一次作业的残余。
  • 使用显式命令。

稳健示例:

python -m venv .venv
.venv/bin/python -m pip install -e ".[dev]"
.venv/bin/python -m pytest

15 分钟月度操作手册

  • 按环境类型查看存储大小。
  • 删除缓存和构建产物。
  • 检查 90 天以上未使用的环境。
  • 确认活跃项目能从锁文件干净地重建。

遵循此手册,你可以显著降低维护摩擦。

最后洞见

掌握 Python 虚拟环境并不止于创建 .venv/。真正的成熟在于闭环:

  • 创建得好
  • 维护得好
  • 清理得好

这就是专业运维的模样。

结论

下次磁盘空间告急时,别先怪 Docker。先检查你的 Python 环境——你可能在被废弃的环境中积累的技术债务,比本月写的代码还多。

如果陈旧的环境持续吞噬磁盘空间,安排定期的盘点 + 清理;如果想让扫描/列出步骤自动化,KillPy 是一个可选方案。

0 浏览
Back to Blog

相关文章

阅读更多 »

Python 入门指南

今天我开始学习 Python,并且探索了一些基本概念,这些概念帮助我了解 Python 在幕后是如何实际工作的。Python 是什么?...

FastAPI 快速入门 2026

什么是 FastAPI?FastAPI 是一个现代的 Python 框架,用于构建具有高性能和最少样板代码的 RESTful API。到 2026 年,它已经成为行业……

Selenium 用于自动化测试

什么是 Selenium?Selenium 是一个免费 的自动化测试框架,用于在不同的浏览器和平台上验证 Web 应用程序。您可以使用多种…