Computational Methods in Physics ASU Physics PHY 494

00 Installing the environment


Note: the course website is accessible at https://goo.gl/bXs7NE


Overview

You will need to install

  1. The Bash Shell
  2. Git
  3. a text editor (by default, atom)
  4. Python (including a number of additional packages required for scientific computing)

In each section, find the instructions for your operating system (Windows, macOS, or Linux).

Once you have installed everything, test your installation.

Setup

To participate in a the class, you will need access to the software described below. In addition, you will need an up-to-date web browser.

If you encounter problems during the installation ask an instructor for help. We also maintain resources for trouble shooting problems during the installation.

The Bash Shell

Bash is a commonly-used shell that gives you the power to do simple tasks more quickly.

Windows

  1. Download the Git for Windows installer.
  2. Run the installer and follow the steps below:
    1. Click on "Next".
    2. Click on "Next".
    3. Click on "Next".
    4. Click on "Next".
    5. Click on "Next".
    6. Select "Use Git and optional Unix tools from the Command Prompt" and click on "Next".
    7. Click on "Next".
    8. Click on "Next". Keep "Checkout Windows-style, commit Unix-style line endings" selected.
    9. Select "Use Windows' default console window" and click on "Next".
    10. Click on "Next".
    11. Click on "Install".

This will provide you with both Git and Bash in the Git Bash program.

macOS

You access Bash from the Terminal (found in /Applications/Utilities). You may want to keep Terminal in your dock for this class.

Recent versions of macOS (starting with Catalina 10.15) ship with zsh as the default shell but also have Bash installed. You can either type bash in the terminal to switch to Bash or change permanently to Bash by executing the following command in the terminal:

chsh -s /bin/bash

(and enter your password when asked).

In earlier versions, the default shell is Bash, so no need to install or change anything.

Linux

The default shell is usually Bash, but if your machine is set up differently you can run it by opening a terminal and typing bash. There is no need to install anything.

Git

Git is a version control system that lets you track who made changes to what when and has options for easily updating a shared or public version of your code on github.com. You will need a supported web browser (current versions of Chrome, Firefox, Safari, Microsoft Edge, or Internet Explorer version 11 or above).

Windows

Git should be installed on your computer as part of your Bash install (described above).

macOS

For macOS/Mac OS X 10.9 and higher, install Git for Mac by downloading and running the most recent "mavericks" installer from this list. After installing Git, there will not be anything in your /Applications folder, as Git is a command line program. For older versions of OS X (10.5-10.8) use the most recent available installer labelled "snow-leopard" available here.

Linux

If Git is not already available on your machine you can try to install it via your distro's package manager. For Debian/Ubuntu run sudo apt-get install git and for Fedora run sudo yum install git.

Text Editor

When you're writing code, it's nice to have a text editor that is optimized for writing code, with features like automatic color-coding of key words. The default text editor on macOS and Linux is usually set to Vim, which is not famous for being intuitive. if you accidentally find yourself stuck in it, try typing the escape key, followed by :q! (colon, lower-case 'q', exclamation mark), then hitting Return to return to the shell.

For this class we will use atom as the default editor. It is free, open source, available on Windows, macOS, and Linux, powerful but also accessible for entry-level programmers.

Windows

atom is a good editor that is suitable for professional coding but also accessible to newcomers with is graphical user interface. To install it, download a suitable installer from atom.io and double click on the file to run it. (If you cannot find an appropriate installer, look for a file "AtomSetup-x64.exe" or "AtomSetup.exe" in the list of latest releases.) For more details see Installing atom on Windows.

Others editors that you can use are Notepad++ or Sublime Text. Be aware that you must add its installation directory to your system path. Please ask your instructor to help you do this.

Windows (on ASU laptop without superuser privileges)

On the ASU school laptops, atom should pre-installed and you can use. Launch the editor from the Start Menu.

macOS

We recommend atom as a good editor that is suitable for professional coding but also accessible to newcomers with is graphical user interface. To install it, download a suitable installation zip file from atom.io and double click on the file to unpack it. Open your Applications directory from the Finder in the Go menu. Drag the unpacked Atom application to your Applications directory. (If you cannot find an appropriate installer, look for a file "atom-mac.zip" or in the list of latest releases.) For more details see Installing atom on Mac.

Alternatively, nano is a basic editor. It should be pre-installed.

Others editors that you can use are Text Wrangler or Sublime Text.

Linux

We recommend atom as a good editor that is suitable for professional coding but also accessible to newcomers with is graphical user interface. Please follow the instructions on Installing atom on Linux and ask an instructor for help if anything is unclear.

Alternatively, nano is a basic editor. It should be pre-installed.

Others editors that you can use are Gedit, Kate or Sublime Text.

Python

Python is a popular language for scientific computing, and great for general-purpose programming as well. Installing all of its scientific packages individually can be a bit difficult, so we recommend Anaconda, an all-in-one installer.

Regardless of how you choose to install it, please make sure you install Python version 3.x (e.g., 3.6 or 3.8 is fine).

We will teach Python using the Jupyter notebook, a programming environment that runs in a web browser. For this to work you will need a reasonably up-to-date browser. The current versions of the Chrome, Safari and Firefox browsers should all be supported (some older browsers, including Internet Explorer version 9 and below, are not).

Windows

  1. Open https://anaconda.com/download/#windows with your web browser.
  2. Download the Python 3 64-Bit installer for Windows.
  3. Install Python 3 using all of the defaults for installation except make sure to check Make Anaconda the default Python.

Windows (on ASU laptops without sysadmin and existing outdated system anaconda)

If you are stuck with a laptop where you can only install as a user and there is already a system-wide anaconda installation present that you do not want to used then you will need to install your own anaconda and make sure that it is being used.

  1. Open https://anaconda.com/download/#windows with your web browser.
  2. Download the Python 3 installer for Windows.
  3. Install Python 3 using all of the defaults for installation except make sure to check Make Anaconda the default Python and set the destination folder to C:\ProgramData\Anaconda3.
  4. Open the Git-Bash command line
  5. Append (>>) to the file $HOME/.bash_profile the following content by typing
    cat >> $HOME/.bash_profile << 'EOF'
    # PHY494 bash startup for local Anaconda
    MYCONDA="/c/ProgramData/Anaconda3"
    export PATH="$MYCONDA:$MYCONDA/Scripts:$MYCONDA/libs/bin:$PATH"
    unset MYCONDA
    EOF
    
    This will instruct Bash to look for your conda installation before anything else.
  6. Close the Git-Bash window.
  7. Open a new Git-Bash window and type conda init bash (so that your conda can work under bash).
  8. Close current Git-Bash window and open a new one to let all settings take effect.
  9. If you still have problems running conda/python on windows, please visit: trouble shooting.

macOS

  1. Open https://anaconda.com/download/#macos with your web browser.
  2. Download the Python 3 installer for MacOS.
  3. Install Python 3 using all of the defaults for installation.

Linux

  1. Open https://anaconda.com/download/#linux with your web browser.
  2. Download the Python 3 installer for Linux. (Most likely the 64-Bit (x86) Installer is correct for your laptop.)
  3. Install Python 3 using all of the defaults for installation. (Installation requires using the shell. If you aren't comfortable doing the installation yourself stop here and request help.)
  4. Open a terminal window.
  5. Type
    bash ./Anaconda-
    and then press tab. The name of the file you just downloaded should appear.
  6. Press enter. You will follow the text-only prompts. When there is a colon at the bottom of the screen press the down arrow to move down through the text. Type yes and press enter to approve the license. Press enter to approve the default location for the files. Type yes and press enter to prepend Anaconda to your PATH (this makes the Anaconda distribution the default Python).

Testing

Bash shell

Open a terminal (macOS, Linux) or open Git Bash (under All Programs/Git/Git Bash) in Windows.

Type

echo $SHELL

Should show /bin/bash or /usr/bin/bash (or similar).

We use "shell" and "terminal" (and "console") pretty much interchangeably.

Git

In the shell, type

git --version

which should show something like git version 2.7.0.

editor (atom)

(If you don't have atom but some other editor such as Sublime Text check the section on Editor under Windows (ASU) and ask an instructor for help.)

First time

Open atom using your GUI

  • Windows: from the start menu
  • macOS: from the Application folder
  • Linux: varies (but you might be able to skip to "From the shell"

A window should open showing the atom logo and welcome screen, similar to

atom welcome screenshot

If it tries to install additional commands (atom and apm) then let it do it and provide your system administrator password if required.

Then exit the editor again (Quit from the menu or close the window).

From the shell

In the shell, type

atom

It should open the editor. Exit the editor.

If this does not work then you need to let atom install additional commands. The Atom menu bar has a command named "Install Shell Commands" which installs the atom and apm commands, as described under Opening a File (and provide your system administrator password if requested). Then add the atom directory to your bash start file manually as described under Wiki:start atom from the git-bash commandline.)

Python

In the shell, type

python -c 'import sys; print(sys.version)'

which should give something similar to Python 3.8.5 (default, Sep 4 2018, 07:30:14) (and more stuff). Important:

  • you should have Python 3, i.e., a version like 3.6.x or 3.8.x

Also try

which conda 
which python

which should give something similar to /homes/USERNAME/anaconda3/bin/conda, /homes/USERNAME/anaconda3/bin/python

Jupyter notebook

  1. In the shell, type
    jupyter notebook
    This should open a browser window at http://localhost:8888.
  2. Open the New menu on the right hand side.
  3. Under Notebooks select Python or Python [conda root] (if it is shown)
  4. In the new window ("Untitled"), type
    print("Hello World!")
    and press shift and return keys simultaneously to evaluate the cell. It should print "Hello World!".
  5. Close the browser tab with menu File: Close and Halt.

If you have problems, ask an instructor.

Common problems

  • On Windows, the pip or python commands are not found. Follow the steps under solution: pip or python are not found in git-bash
  • On macOS, if you get the error OSError: [Errno 49] Can't assign requested address you might need to use jupyter notebook --ip=127.0.0.1
  • Wrong conda is used. Check which conda in the terminal: it should show a path in your home directory (e.g., for user "physics": Windows: /c/Users/Physics/Anaconda3/conda, macOS: /Users/physics/Anaconda3/conda, Linux: /home/physics/Anaconda3/conda). Try exiting the terminal and open a new terminal (or git bash) and try again. Changes to PATH only take effect when a new shell is opened.

See also trouble shooting problems during the installation

Credit

The instructions were taken from Software Carpentry (in particular David Dotson's 2016 workshop at ASU) and adapted for the PHY 494 class.