BREAKING CHANGE: the `ipython` alias was incorrectly trying to manually call
ipython from the installed module in the virtual environment, when actually
a command already exists when loading the virtual environment. This change
removes the unnecessary alias and allows calling the right command.
Fixes#12676
Summary
Make it get a list of installed interpreters, and add the
relevant local (HOME) site-packages directory to PYTHONPATH.
Reason
To easily add all relevant paths, initially, and between upgrades.
Add check for PYTHONUSERBASE
Summary
Check for a non-standard install directory, use it if one
exists, otherwise use ~/.local.
Reason
Allow users to specify their own installation directory, without
affecting functionality.
Current state: a user invokes `ipython` and is provided with the IPython
instance regarding the `$PATH`.
Proposed state: a user invokes `ipython` (which is a new alias in the
*python plugin*) and is provided with the proper IPython instance regarding
the currently activated virtualenv.
Example: the user's default Python is 2.7 with installed IPython 2.7. User
activates Python 3.5 virtualenv where he installs IPython 3.5. After
activating the environment, one expects `ipython` to run the version 3.5,
which does not happen by default. Instead, IPython 2.7 is used, which in
counter-intuitive and often causes problem.
Closes#5797
Deleting `.mypy_cache` did not work, because the directories were not
empty. They contain JSON files instead of compiled byte-code.
This extends the cleanup by also getting rid of `.pytest_cache`
directories.