| ▲ | stabbles 3 hours ago | |
It's not just that, it's also a filesystem layout issue. If you install everything in `/usr` or `<venv>/lib/pythonX.Y/site-packages` you cannot have two versions / variants of the same package installed concurrently. For that you need one prefix per installation, which is what Nix, Guix, and Spack do. | ||
| ▲ | avsm 2 hours ago | parent [-] | |
The runtime can also use mount namespaces to support concurrent installations. Or, if there is a compilation step, the linker can not expose symbols for clashing libraries and just resolve them within the dependency chain. The package calculus allows all of these to specified cleanly in a single form. | ||