2. Getting Python Software for Scientific Computing

This work is licensed under Creative Commons Attribution-ShareAlike 4.0 International


2.1. Anaconda, featuring JupyterLab, Spyder, and IPython

I suggest that you get Anaconda for you own computers, even if you also have access to it via computers on-campus. Get the “current” version based on Python 3 (more specifically, version 3.7 or higher), not the legacy version for Python 2; we will use some of the newer features, especially for working more easily with matrices and vectors.

Anaconda is a free download from https://www.anaconda.com/products/individual

Once Anaconda is installed, you access its compoments by opening the Anaconda Navigator. The most important of these for us will be JupyterLab, for working with Jupyter notebooks; see the Project Jupyter site.

Other Anaconda components of possible interest are:

  • Spyder an Integrated Development Environment (like IDLE, but far fancier!) for writing and running Python code files (suffix .py). This has more advanced editing and debugging tools than JupyterLab, so some of you might prefer to develop your Python code in Spyder (or even with IDLE) and then copy the code into a notebook for final presentation.
    (Aside: “Spyder” is a portmanteau for Scientific PYthon DEvelopment enviRonment.)

  • IPython console provides a command line for executing Python code, akin to what you might be familar with when using IDLE. (Note that within Spyder, one pane is an iPython console, along-side the editing pane.)
    (Aside: “IPython” is short for Interactive Python; the “I” is capitalized; it is not an Apple product!)

2.2. Colab (a.k.a. Colaboratory); a purely online alternative for Jupyter notebooks

An alternative is to use the online resource Colab provided by Google. This works entirely with Jupyter notebooks, stored in the Colab website. Colab does not support directly running Python code files. However, it does support uploading your own modules in Python code files, from which a notebook can import stuff. (Never mind if you do not yet know about creating modules and importing from them; we will review that later.)