Where Does virtualenv Store Python Environments?
virtualenv creates self-contained Python environments per project, with central folders only when wrappers manage them.
Last updated
virtualenv environments live where you create them, usually a venv folder inside the project. No registry tracks them globally. Activation scripts rewrite PATH per shell session.
That locality makes copying pointless. Absolute paths inside break on relocation every time. Requirements files are the portable artifact; environments are disposable by design.
Where virtualenv stores this, by platform
./venv (or ~/.virtualenvs with virtualenvwrapper)
Environments live in-project by convention. Wrapper users centralize under virtualenvs. Recreate from requirements rather than copying.
./venv (or ~/.virtualenvs with virtualenvwrapper)
Same convention on Mac with framework Python quirks. Activation scripts differ per shell. Requirements files rebuild anywhere.
.\venv (Scripts\ instead of bin\)
Scripts folder replaces bin on Windows. Paths embed drive letters, so moves break harder. Recreate per machine always.
Frequently asked questions
How do I move a virtualenv to a new machine?
Recreate from requirements on the new machine instead of copying. Environments embed absolute paths and break on move. A requirements file rebuilds cleanly anywhere.
Is there a central virtualenv folder?
Yes through virtualenvwrapper conventions. Plain virtualenv scatters environments wherever you create them. The wrapper centralizes plus adds workon navigation.
Notice an outdated path? Let us know.