From c7d79096c3105e18a57fff61842546aec6c8f0d6 Mon Sep 17 00:00:00 2001 From: Dan Lecocq Date: Wed, 31 Aug 2016 13:48:52 -0700 Subject: [PATCH] Use pyenv. --- .gitignore | 1 + .python-version | 1 + provision.sh | 44 ++++++++++++++++++++++++++++++++++++++------ 3 files changed, 40 insertions(+), 6 deletions(-) create mode 100644 .python-version diff --git a/.gitignore b/.gitignore index 38213ec..4ffd94d 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ .vagrant/ build/* driver +venv/ diff --git a/.python-version b/.python-version new file mode 100644 index 0000000..af9c448 --- /dev/null +++ b/.python-version @@ -0,0 +1 @@ +2.7.11 diff --git a/provision.sh b/provision.sh index 098fbfd..1a6fb66 100755 --- a/provision.sh +++ b/provision.sh @@ -1,11 +1,43 @@ #! /usr/bin/env bash -# Some dependencies +set -e + sudo apt-get update -sudo apt-get install -y libjudy-dev make g++ gdb git python-dev python-pip -sudo pip install cython==0.22.1 +sudo apt-get install -y tar curl git + +# Libraries required to build a complete python with pyenv: +# https://github.com/yyuu/pyenv/wiki +sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev \ + libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev + +# Install pyenv +git clone https://github.com/yyuu/pyenv.git ~/.pyenv +echo ' +# Pyenv +export PYENV_ROOT="$HOME/.pyenv" +export PATH="$PYENV_ROOT/bin:$PATH" +eval "$(pyenv init -)" +' >> ~/.bash_profile +source ~/.bash_profile +hash + +pushd /vagrant -( - cd /vagrant/ + # Submodules git submodule update --init --recursive -) + + # Install our python version + pyenv install + pyenv rehash + + # Install a virtualenv + pip install virtualenv + if [ ! -d venv ]; then + virtualenv venv + fi + source venv/bin/activate + + # Lastly, our dependencies + pip install -r requirements.txt + +popd