New python versions add to the existing ones, rather than upgrading
Question: I'm new to python. I installed python3.4 on OsX some time ago and now I
installed python3.5 using the installer you can download from the site.

I noticed that in /Library/Frameworks/Python.framework/Versions/ I have both
3.4 and 3.5. I wasn't expecting that - I was expecting an upgrade where 3.5
replaced 3.4

So, if I run python3.5 and I try to import the packages I installed when using
3.4, they are not found. Furthermore if I use pip install to reinstall them,
it says the packages are already installed, therefore I can see that it's
pointing to the 3.4 version.

What I'm doing wrong? I supposed that installing the new python should upgrade
my existing installation (bringing installed packages with it) rather than add
a completely new install.

I'm not sure what to do now:

  1. Should I keep every old version? 
  2. Should I manually change which pip is used every time? 
  3. (is there a more streamlined update procedure for next time?)


Answer: A lot of Python packages are 3rd party. The community is always moving forward
and this may take some getting used to!

That said, my recommendation is to start using venv. It gives you (mostly)
isolated Python virtual environments in which you can install whatever
packages you like (via pip) without polluting the global installation. This
also allows you to configure various virtual environments with varying
packages and versions. It's really handy!

Link: <https://docs.python.org/3.4/library/venv.html>

