title: How to install multiple versions of Python in Windows?
body: <p>up until recently I have only worked with one version of Python and used virtual environments every now and then. Now, I am working with some libraries that require older version of Python. So, I am very confused. Could anyone please clear up some of my confusion?</p>
  <ol>
  <li>How do I install multiple Python versions?</li>
  </ol>
  <p>I initially had Python version 3.8.x but upgraded to 3.10.x last month. There is currently only that one version on my PC now.</p>
  <p>I wanted to install one of the Python 3.8.x version and went to <a href="https://www.python.org/downloads/" rel="nofollow noreferrer">https://www.python.org/downloads/</a>. It lists a lot of versions and subversions like 3.6, 3.7, 3.8 etc. etc. with 3.8.1, 3.8.2 till 3.8.13. Which one should I pick?</p>
  <p>I actually went ahead with 3.8.12 and downloaded the Tarball on the page: <a href="https://www.python.org/downloads/release/python-3812/" rel="nofollow noreferrer">https://www.python.org/downloads/release/python-3812/</a></p>
  <p>I extracted the tarball (23.6MB) and it created a folder with a setup.py file.</p>
  <p>Is Python 3.8.12 now installed? Clicking on the <code>setup.py</code> file simply flashes the terminal for a second.</p>
  <p>I have a few more questions. Hopefully, they won't get me downvoted. I am just confused and couldn't find proper answers for them.</p>
  <ol start="2">
  <li>Why does Python have such heavy dependency on the exact versions of libraries and packages etc?</li>
  </ol>
  <p>For example, this question
  <a href="https://stackoverflow.com/questions/66726331/how-can-i-run-mozilla-tts-coqui-tts-training-with-cuda-on-a-windows-system">How can I run Mozilla TTS/Coqui TTS training with CUDA on a Windows system?</a>. This seems very beginner unfriendly. Slightly mismatched package
  version can prevent any program from running.</p>
  <ol start="3">
  <li>Do virtual environments copy all the files from the main Python installation to create a virtual environment and then install specific packages inside it? Isn't that a lot of wasted resources in duplication because almost all projects require there own virtual environment.</li>
  </ol>