Environment layout
The files and directories tn-venv writes into DEST, per platform. The
layout follows PEP 405 and matches python -m venv.
Windows
.venv/
├── pyvenv.cfg # environment configuration (see pyvenv-cfg)
├── .gitignore # unless --scm-ignore none
├── Include/ # PEP 405 include directory
├── Lib/
│ └── site-packages/ # where pip installs into
└── Scripts/
├── python.exe # venvlauncher.exe redirector (Python ≥ 3.11)
├── pythonw.exe # venvwlauncher.exe (windowed)
├── activate # bash / zsh (Git Bash, MSYS2, Cygwin)
├── activate.bat # cmd.exe
├── deactivate.bat # cmd.exe
├── Activate.ps1 # PowerShell / pwsh
├── activate.fish # fish
├── activate.csh # csh / tcsh
├── activate.nu # Nushell
├── activate_this.py # in-process activation
├── pip.exe # ┐
├── pip3.exe # ├ installed by the seeder
└── pip3.14.exe # ┘
Where the binaries come from
Mode |
|
Runtime DLLs |
|---|---|---|
copies (default), Python ≥ 3.11 |
copy of the base install’s |
resolved from the base install at runtime |
copies, Python ≤ 3.10 (or no launchers) |
copy of the real |
|
|
symlink to the real |
all |
Symlink mode that fails (no Developer Mode privilege) falls back to copies
with a warning. Free-threaded (3.13t) and debug (_d) builds use their
matching launcher names.
POSIX (Linux, macOS, …)
.venv/
├── pyvenv.cfg
├── .gitignore
├── include/
├── lib/
│ └── python3.14/
│ └── site-packages/
├── lib64 -> lib # 64-bit POSIX, except macOS
└── bin/
├── python3 # symlink (default) or copy of the base binary
├── python # ┐ relative links to python3
├── python3.14 # ┘
├── activate
├── Activate.ps1
├── activate.fish
├── activate.csh
├── activate.nu
├── activate_this.py
└── pip, pip3, pip3.14 # installed by the seeder
On POSIX, symlinks are the default; --copies copies the binary and marks
it executable. PyPy environments get a pypy3 alias in addition.
What is not written
No files outside
DESTexcept the transientDEST.tn-venv.locklock file, which is removed on completion.No state directories, no caches:
tn-venvkeeps nothing between runs, so two invocations never observe each other except through the destination itself.