Updated documentation in doc and README and made some small edits to bash script for added robustness
Added documenntation to the docs folder and edited the mac bash script in response to tests
This commit is contained in:
127
scripts/create_mac_dev_env.sh
Normal file
127
scripts/create_mac_dev_env.sh
Normal file
@@ -0,0 +1,127 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
BASE=$HOME/edx_all
|
||||
PLATFORM_REPO=$BASE/edx-platform
|
||||
PYTHON_BIN=/usr/local/bin/python
|
||||
PYTHON_SHARE=/usr/local/share/python
|
||||
|
||||
#Add python directory to $PATH for this session
|
||||
$PATH=$PYTHON_SHARE:$PATH
|
||||
|
||||
# Create a directory to store everything
|
||||
echo "Creating $BASE directory"
|
||||
mkdir -p $BASE
|
||||
|
||||
# Install HomeBrew
|
||||
echo "Installing HomeBrew"
|
||||
ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"
|
||||
|
||||
#Install git
|
||||
echo "Installing Git Version Control"
|
||||
brew install git
|
||||
|
||||
# Clone the edx-platform repository
|
||||
echo "Cloning edx-platform repo"
|
||||
cd $BASE
|
||||
git clone https://github.com/edx/edx-platform.git
|
||||
|
||||
#Set git push defaults to upstream rather than master
|
||||
echo "Changing git defaults"
|
||||
git config --global push.default upstream
|
||||
|
||||
# Install system prereqs
|
||||
echo "Installing Mac OS X prereqs"
|
||||
BREW_FILE=$PLATFORM_REPO/requirements/system/mac_os_x/brew-formulas.txt
|
||||
for pkg in $(cat $BREW_FILE); do
|
||||
grep $pkg <(brew list) &>/dev/null || {
|
||||
echo "Installing $pkg"
|
||||
brew install $pkg
|
||||
}
|
||||
done
|
||||
|
||||
# Manually Installing Ruby prereqs
|
||||
brew install openssl
|
||||
|
||||
# Install Ruby virtual environment
|
||||
curl -L https://get.rvm.io | bash stable --ruby
|
||||
source $HOME/.rvm/scripts/rvm
|
||||
rvm install ruby-1.9.3-p374
|
||||
rvm use 1.9.3-p374
|
||||
rvm rubygems latest
|
||||
|
||||
gem install bundler
|
||||
bundle install --gemfile $PLATFORM_REPO/Gemfile
|
||||
|
||||
# Install Python virtual environment
|
||||
echo "Installing Python virtualenv"
|
||||
sudo pip install virtualenvwrapper
|
||||
export VIRTUALENVWRAPPER_PYTHON=$PYTHON_BIN
|
||||
export VIRTUALENV_DISTRIBUTE=true
|
||||
source $PYTHON_SHARE/virtualenvwrapper.sh
|
||||
mkvirtualenv -a edx-platform --system-site-packages edx-platform
|
||||
|
||||
# Install numpy and scipy
|
||||
NUMPY_VER="1.6.2"
|
||||
SCIPY_VER="0.10.1"
|
||||
|
||||
echo "Downloading numpy and scipy"
|
||||
curl -sL -o numpy.tar.gz http://downloads.sourceforge.net/project/numpy/NumPy/${NUMPY_VER}/numpy-${NUMPY_VER}.tar.gz
|
||||
curl -sL -o scipy.tar.gz http://downloads.sourceforge.net/project/scipy/scipy/${SCIPY_VER}/scipy-${SCIPY_VER}.tar.gz
|
||||
tar xf numpy.tar.gz
|
||||
tar xf scipy.tar.gz
|
||||
rm -f numpy.tar.gz scipy.tar.gz
|
||||
echo "Compiling numpy"
|
||||
cd "$BASE/numpy-${NUMPY_VER}"
|
||||
python setup.py install
|
||||
echo "Compiling scipy"
|
||||
cd "$BASE/scipy-${SCIPY_VER}"
|
||||
python setup.py install
|
||||
cd "$BASE"
|
||||
rm -rf numpy-${NUMPY_VER} scipy-${SCIPY_VER}
|
||||
|
||||
# Activate the new Virtualenv for pip fixes
|
||||
VIRTUALENV=$HOME/.virtualenvs/edx-platform/bin
|
||||
cd $VIRTUALENV
|
||||
source activate
|
||||
|
||||
# building correct version of distribute from source
|
||||
DISTRIBUTE_VER="0.6.28"
|
||||
echo "Building Distribute"
|
||||
SITE_PACKAGES=$HOME/.virtualenvs/edx-platform/lib/python2.7/site-packages
|
||||
cd $SITE_PACKAGES
|
||||
curl -O http://pypi.python.org/packages/source/d/distribute/distribute-${DISTRIBUTE_VER}.tar.gz
|
||||
tar -xzvf distribute-${DISTRIBUTE_VER}.tar.gz
|
||||
cd distribute-${DISTRIBUTE_VER}
|
||||
python setup.py install
|
||||
cd ..
|
||||
rm distribute-${DISTRIBUTE_VER}.tar.gz
|
||||
|
||||
# on mac os x get the latest pip
|
||||
pip install -U pip
|
||||
# need latest pytz before compiling numpy and scipy
|
||||
pip install -U pytz
|
||||
pip install -U numpy
|
||||
# scipy needs cython
|
||||
pip install cython
|
||||
# fixes problem with scipy on 10.8
|
||||
pip install -e git+https://github.com/scipy/scipy#egg=scipy-dev
|
||||
|
||||
# Install prereqs
|
||||
echo "Installing prereqs"
|
||||
cd $PLATFORM_REPO
|
||||
rvm use 1.9.3-p374
|
||||
rake install_prereqs
|
||||
|
||||
# Final dependecy
|
||||
echo "Finishing Touches"
|
||||
cd $BASE
|
||||
pip install argcomplete
|
||||
cd $PLATFORM_REPO
|
||||
bundle install
|
||||
|
||||
# Make required directories
|
||||
cd $BASE
|
||||
mkdir data log db
|
||||
|
||||
# Finished
|
||||
echo "Success!"
|
||||
Reference in New Issue
Block a user