| #!/bin/bash |
| # |
| # Licensed to the Apache Software Foundation (ASF) under one |
| # or more contributor license agreements. See the NOTICE file |
| # distributed with this work for additional information |
| # regarding copyright ownership. The ASF licenses this file |
| # to you under the Apache License, Version 2.0 (the |
| # "License"); you may not use this file except in compliance |
| # with the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, |
| # software distributed under the License is distributed on an |
| # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| # KIND, either express or implied. See the License for the |
| # specific language governing permissions and limitations |
| # under the License. |
| |
| help() |
| { |
| cat << ENDHELP |
| |
| Easy OCW assists with the building of the Apache Open Climate Workbench and |
| its dependencies. |
| |
| Flags: |
| -h Display this help message. |
| |
| N.B. This install script has been tested against Ubuntu 12.04 and 14.04. |
| Please report problems with this script to dev@climate.apache.org |
| ENDHELP |
| } |
| |
| header() |
| { |
| echo |
| echo $1 |
| } |
| |
| task() |
| { |
| echo " - " $1 |
| } |
| |
| subtask() |
| { |
| echo " " $1 |
| } |
| |
| echo |
| echo "---------------------------------------------------------------------------" |
| echo " Welcome to Easy OCW" |
| echo "---------------------------------------------------------------------------" |
| echo |
| |
| # Find absolute path to the easy-ocw directory |
| DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" |
| |
| cd $DIR |
| ocw_path="$DIR/../climate" |
| |
| while getopts ":h" FLAG |
| do |
| case $FLAG in |
| h) |
| help |
| exit 1 |
| ;; |
| ?) |
| help |
| exit 1 |
| ;; |
| esac |
| done |
| |
| cat << ENDINTRO |
| A number of dependencies for OCW will now be installed. Please check the wiki |
| for a complete list of dependencies. Additionally, please read the wiki for |
| useful installation guidelines and information that may be pertinent to your |
| situation. All of this can be found at http://s.apache.org/3p2 |
| ENDINTRO |
| |
| cat << VIRTUALENV_WARNING |
| $(tput setaf 1)<-----------------------------[WARNING!]----------------------------------->$(tput sgr 0) |
| Easy OCW will automatically create a conda environment "venv-ocw". |
| All the dependencies will be installed in the virtual environment |
| to ensure that your global Python install is not affected. |
| |
| Please activate the virtual environment venv-ocw after the script has completed to use OCW. |
| |
| To activate the virtual environment execute |
| > source active venv-ocw |
| |
| To deactivate the virtual environment execute |
| > source deactivate |
| |
| VIRTUALENV_WARNING |
| |
| echo "Easy-OCW script logs" > install_log |
| |
| # Install Continuum Analytics Miniconda Python distribution. This gives |
| # almost all the dependencies that OCW needs in a single, easy to |
| # install package. |
| header "Installing Miniconda Python distribution ..." |
| |
| MACHINE_TYPE=`uname -m` |
| if [ ${MACHINE_TYPE} == 'x86_64' ]; then |
| link="https://repo.continuum.io/miniconda/Miniconda-latest-Linux-x86_64.sh" |
| else |
| link="https://repo.continuum.io/miniconda/Miniconda-latest-Linux-x86.sh" |
| fi |
| |
| header "Checking for conda ..." |
| command -v conda >/dev/null 2>&1 || { |
| task "Unable to locate conda." |
| if ! [ -f Miniconda-latest-linux.sh ]; then |
| task "Downloading Miniconda ..." |
| wget -O Miniconda-latest-linux.sh $link >> install_log 2>&1 |
| subtask "done" |
| fi |
| task "Installing ..." |
| bash Miniconda-latest-linux.sh -b -p $HOME/miniconda |
| export PATH="$HOME/miniconda/bin/:$PATH" |
| subtask "done" |
| } |
| |
| header "Creating venv-ocw environment and installing dependencies" |
| conda create --name venv-ocw -y --file ocw-conda-dependencies.txt |
| task "Activating venv-ocw virtual environment" |
| source activate venv-ocw |
| |
| conda config --set always_yes yes |
| conda update -q conda |
| |
| header "Conda Information" |
| echo "------------------------------------------------------------------" |
| conda info -a |
| |
| echo |
| task "Installing python-dev" |
| sudo apt-get -y install python-dev >> install_log 2>&1 |
| subtask "done" |
| |
| cd $DIR |
| |
| header "Installing remaining dependencies via pip" |
| pip install -r ocw-pip-dependencies.txt |
| subtask "done" |
| |
| header "Installing ocw module" |
| |
| cd .. |
| python setup.py install |
| subtask "Finished installing OCW module" |
| |
| header "For any issues with installation please contact dev@climate.apache.org" |