Overview
Teaching: 15 min Exercises: 0 minQuestions
Will my laptop work for this hackathon?
What version of Python should I install?
What tools do I need to participate?
Objectives
Getting participants ready for running code in the cloud and on their local machines during the hackweek
This preliminary tutorial is one that we would like you to complete before arriving at Oceanhackweek. The purpose is to learn about the minimum system requirement for the Oceanhackweek, install the necessary software used during the week, and hopefully answer any other technical question about your computer setup. Our goal is to have everyone up-and-running prior to the event so we can focus our time more productively when you arrive in person.
Python Version
We will be using Python 3 only during the hackweek. We encouraged participants who come from Python 2 to start reviewing the new syntax of Python 3. See here for more details.
Python software is distributed as a series of libraries that are called within your code to perform certain tasks. There are many different collections, or distributions of Python software. Generally you install a specific distribution of Python and then add additional libraries as you need them. There are also several different versions of Python. The two main versions right now are 2.7 and 3.7. During the hackweek we will be using Python 3.7 for the tutorials, and encouraging participants to do so.
So even though Python is one of the most adaptable, easy-to-use software systems, you can see there are still complexities to work out and potential challenges when delivering content to a large group. Therefore we have a number of different ways that we are trying to simplify this process to maximize your learning during Oceanhackweek.
We will be using http://ocean.pangeo.io. Pangeo is a JupyterHub-like implementation for the for ocean, atmospheric, and climate research community. A Jupyter Notebook is an open-source web application that allows users to create and share documents containing live code, equations, visualizations, and markdown texts. Here’s a overview on JupyterHub.
We also provide instructions for using Miniconda, which is our recommended Python distribution. We can assist in setting up “conda” environments that will simplify the gathering of Python libraries and version specific to the tutorial you are working on.
Conda is an open source package and environment management system for python libraries. We will be using various
Python libraries with multiple dependencies, so it is critical that you have some sort of
package management system in place. Conda can be installed in almost any computer. The advantage of conda compared to pip is that it has a built in environment management system as well as the management of binaries, and non-python dependencies.
Here are the system requirements:
NOTE: You do not need administrative or root permissions to install conda if you select a user-writable install location.
Click here to start our Conda tutorial. Let us know if on Slack you are having problems with installing Conda.
Given all the heavy use of python during the oceanhackweek, we will not be able to provide instruction in Python fundamentals. Here are some excellent resources we recommend using to brush up on your Python skills in advance of our event:
Be sure to arrive at Oceanhackweek with your own GitHub account.
Git Installation
MAC OS
Linux (Debian)
sudo apt install git-all
During the hackweek it will be useful to know how to navigate between files from the command line. If you are not familiar with the unix shell commands you can review the first three sections of this Software Carpentry Shell Novice lesson. On Windows, use the Git Bash terminal to run these commands.
When working on the command line, it is often handy to modify file content directly from there. For that you can use a command line editor such as nano. On Mac and Linux it is usually pre-installed, but for Windows you can follow the instructions in this link to set it up.
Key Points
participants will conduct tutorial exercises in a cloud environment
everyone is encouraged to arrive with Python installed on their laptop for the project work
Conda package and environment manager will be used to install python and other libraries