I appreciate all the comments. I agree with most, even when they disagree with me or each other. I especially agree with the questions several people raise: What it is that we should teach? In which order? I think there is a consensus about what a student should end up knowing. Even if they are not going to become developers, they should be able to edit text files; they should be able to run commands from the termina…
On Unix, it is even trivial to have parallel installations.
Build two pythons:
./configure --prefix=/home/foo/a && make && make install
make distclean
./configure --prefix=/home/foo/b && make && make install
Install packages: /home/foo/a/bin/python -m pip install bar
/home/foo/b/bin/python -m pip install quux
This is completely isolated. You can do the same by using the Windows installer to install to different directories. If an installation breaks, remove it and reinstall.My experience is that people who recommend various environment software often like strict bureaucratic procedures, or have a financial interest in pushing the software or are simply not experienced and do what they are told.