====== Notes in getting start with Python ====== Python can be complicated to set up, particularly if using virtual environments. ===== Virtual environments and choosing a distribution ===== I used to setup Python via Miniconda in order to have virtual python environments (see [[https://medium.com/@aminasaeed223/a-comprehensive-tutorial-on-miniconda-creating-virtual-environments-and-setting-up-with-vs-code-f98d22fac8e2|this guide here]]. However, I don't like this approach because miniconda seems to be too aggressive in always preferring its own install. For example, the PDE Solver software Firedrake does not like Miniconda/Anaconda. Instead, so far I really like the use of [[https://github.com/pyenv/pyenv|pyenv]]. Setup seems quite simple. On Mac, use homebrew to install via brew install pyenv You then need to include some scripts in your startup shell. Then install a distribution via pyenv install 3.12 will install the latest version of Python 3.12. Then you can select this distribution to use as your global one: pyenv global 3.12