I Thought I Had 3 Python Envs. Turns Out I Had 26 Eating 45GB
"Like most Python developers, I spin up new environments for different projects: different dependencies, different Python versions, little experiments I don't want to contaminate. At the time, it felt organized."
Like most Python developers, I spin up new environments for different projects: different dependencies, different Python versions, little experiments I don't want to contaminate. At the time, it felt organized.
I assumed I had maybe 5 or 6 environments active.
When I finally checked, I had 26 scattered across Conda, venv, uv and Mamba, together chewing up ~45GB on my Windows machine. On my Mac, which I thought was "clean," I found another 4 using ~5GB.
Some of those weren't even mine directly — a couple came from AI coding agents I was testing, which silently created new virtual environments in the background. I didn't even realize they were there until I scanned my system.
The Daily Pain
It wasn't catastrophic — but it was annoying:
- I couldn't remember which envs were safe to delete.
- I didn't know which belonged to which project.
- Half the time, Jupyter would throw:
ModuleNotFoundError: No module named 'pandas'because I'd launched the wrong kernel.
It wasn't breaking production. But it was a steady drip of wasted time and broken flow.
Why Existing Tools Didn't Cut It
Sure, tools like pyenv, uv and conda exist, but they don't:
- Give you visibility into all your environments.
- Show which ones are stale, redundant, or wasting space.
- Help clean them up safely.
- Warn you about dependencies with known vulnerabilities.
- Save you from Jupyter/kernel mismatch hell.
And here's a key point:
Conda has conda env list, but venv and uv don't offer anything like that out of the box. If you've been creating venvs in random project folders (or AI agents have), you might not even know they exist — until your disk fills up.
That's the gap I kept hitting.
Scratching My Own Itch
The idea wasn't to build something complicated. I just wanted the most intuitive, simplest possible experience — a single sleek dashboard that shows everything, so I don't waste time digging around.
That turned into PyEnvManager (pyenvmanager.com).
It doesn't replace pip, Conda, uv, or Mamba. Instead, it sits on top and gives you visibility + control.
What It Does (v0.3.0)
- Scan environments across Conda, venv, Mamba, and uv.
- Show Python version + disk usage, with a simple dashboard of envs and cleanup potential.
- Launch Jupyter in the right env with one click (my biggest sanity saver).
- Delete old venv, conda, mamba envs (uv coming soon) safely, with a preview of how much space you'll get back.
- Show dependencies and highlight packages with known CVEs.
- Create new envs with templates or custom packages.
Even with uv's efficient global caching, it's still handy to have everything in one place — especially for cleaning up old Conda/venv setups and catching mystery envs created by AI tools.
What I'd Love to Know
I'm just one dev scratching my own itch, but if this resonates with you:
- Do you also let environments pile up (sometimes without realizing)?
- How do you usually keep track of them?
- What's the most annoying part of your workflow with Jupyter/envs?
Try PyEnvManager
Scan your system and see exactly how many environments you have